CVSROOT:        /sources/global
Module name:    global
Changes by:     Shigio YAMAGUCHI <shigio>       08/02/28 01:13:51

Modified files:
        global         : global.c 
        libutil        : abs2rel.c abs2rel.h find.c 

Log message:
        Modifications to Allow symbolic links.
        
        I have modified global(1) and gtags(1) to allow symbolic link.
        To realize it, I used normalize_path() and abs2rel() in 
libutil/abs2rel.c
        module instead of realpath(3) library function.
        
        Though the symbolic link to a directory might confuse users,
        it is originally as such. They should understand the characteristic.
        
        ----------------------------------------------------------------------
        [Example]
        ----------------------------------------------------------------------
        /tmp
          +-global
          |  +-GTAGS
          |  +-gtags ----+ (symbolic link to ../work/gtag2)
          |  +-htags --+ | (symbolic link to ../work/htag2)
          |            | |
          +-work       | |
             +-gtag2 <-+ |
             |  +-gtags.c|
             |           |
             +-htag2 <---+
                +-htags.c
        
        Current version
        ===============
        
        $ cd /tmp/global
        $ gtags
        Warning: './gtags' is a directory. (Ignored)
        Warning: './htags' is a directory. (Ignored)
        ...
        $ global -f gtags/gtags.c
        '/tmp/work/gtags/gtags.c' is out of source tree.
        
        New version
        ===========
        
        $ cd /tmp/global
        $ gtags
        $ global -f gtags/gtags.c
        usage              91 gtags/gtags.c  usage(void)
        help               98 gtags/gtags.c  help(void)
        ...
        $ global -f gtags/../htags/htags.c
        mkdir              61 htags/htags.c  #define mkdir(path,mode) 
mkdir(path)
        link               62 htags/htags.c  #define link(one,two) (-1)
        ...
        % cd gtags                                      <= get out of the 
source tree
        $ global -f gtags.c
        global: GTAGS not found.
        $ pwd
        /tmp/work/gtags
        ----------------------------------------------------------------------

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/global/global/global.c?cvsroot=global&r1=1.183&r2=1.184
http://cvs.savannah.gnu.org/viewcvs/global/libutil/abs2rel.c?cvsroot=global&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/global/libutil/abs2rel.h?cvsroot=global&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/global/libutil/find.c?cvsroot=global&r1=1.64&r2=1.65


_______________________________________________
Global-commit mailing list
Global-commit@gnu.org
http://lists.gnu.org/mailman/listinfo/global-commit

Reply via email to