Index: src/cvs.h =================================================================== RCS file: /usr/local/cvs/cvsnt/src/cvs.h,v retrieving revision 1.93.2.208 diff -c -r1.93.2.208 cvs.h *** src/cvs.h 8 May 2006 13:17:08 -0000 1.93.2.208 --- src/cvs.h 5 Sep 2006 07:49:20 -0000 *************** *** 1156,1161 **** --- 1156,1163 ---- /* Last repository called if any recursion was done */ extern const char *last_repository; + /* First repository called if any recursion was done */ + extern const char *first_repository; #include "mapping.h" Index: src/main.cpp =================================================================== RCS file: /usr/local/cvs/cvsnt/src/main.c,v retrieving revision 1.71.2.151 diff -c -r1.71.2.151 main.cpp *** src/main.cpp 28 Jun 2006 12:29:24 -0000 1.71.2.151 --- src/main.cpp 5 Sep 2006 07:50:41 -0000 *************** *** 1588,1593 **** --- 1588,1594 ---- run_trigger(&args, postcommand_proc); } xfree(last_repository); + xfree(first_repository); CTriggerLibrary lib; lib.CloseAllTriggers(); /* This command has finished */ Index: src/recurse.cpp =================================================================== RCS file: /usr/local/cvs/cvsnt/src/recurse.c,v retrieving revision 1.21.2.79 diff -c -r1.21.2.79 recurse.cpp *** src/recurse.cpp 30 Jun 2005 16:41:08 -0000 1.21.2.79 --- src/recurse.cpp 5 Oct 2006 05:11:29 -0000 *************** *** 28,33 **** --- 28,34 ---- static List *dirlist = NULL; /* holds list of directories on which to operate */ const char *last_repository; + const char *first_repository=NULL; struct recursion_frame { FILEPROC fileproc; *************** *** 185,190 **** --- 186,192 ---- List *files_by_dir = NULL; struct recursion_frame frame; + TRACE(3,"start_recursion (1)"); frame.fileproc = fileproc; frame.filesdoneproc = filesdoneproc; frame.predirentproc = predirentproc; *************** *** 687,693 **** --- 689,697 ---- TRACE(3,"Repository = %s",PATCH_NULL(repository)); TRACE(3,"Mapped repository = %s",PATCH_NULL(mapped_repository)); xfree(last_repository); + if (first_repository==NULL) xfree(first_repository); last_repository = xstrdup(mapped_repository); + if (first_repository==NULL) first_repository = xstrdup(mapped_repository); /* * Do we have access to this directory? Index: src/server.cpp =================================================================== RCS file: /usr/local/cvs/cvsnt/src/server.c,v retrieving revision 1.106.2.210 diff -c -r1.106.2.210 server.cpp *** src/server.cpp 13 Jun 2006 21:32:16 -0000 1.106.2.210 --- src/server.cpp 3 Oct 2006 17:42:31 -0000 *************** *** 6015,6020 **** --- 6015,6021 ---- TRACE(3,"run postcommand proc server"); run_trigger(&args, postcommand_proc); xfree(last_repository); + xfree(first_repository); return exitstatus; } *************** *** 6173,6182 **** --- 6174,6186 ---- TRACE(1,"postcommand_proc()"); + // should modify this to allow either first or last to be sent to postcommit if(cb->postcommit && !strcmp(args->command,"commit")) ret = cb->postcommit(cb,last_repository?Short_Repository(last_repository):""); + //ret = cb->postcommit(cb,first_repository?Short_Repository(first_repository):""); if(!ret && cb->postcommand) ret = cb->postcommand(cb,last_repository?Short_Repository(last_repository):""); + //ret = cb->postcommand(cb,first_repository?Short_Repository(first_repository):""); return ret; } t_options, (char*)(rev1?rev1:"0"), rev2, conflict_3way, &mode); + } if(status == 3) {