diff -r cvs-1.3/Makefile.in /usr/cvs/src/cvs-1.3/Makefile.in 86c86 < LDFLAGS = $(CDEBUG) --- > LDFLAGS = $(CDEBUG) $(ARCHS) 124c124 < install: --- > install:: diff -r cvs-1.3/contrib/pcl-cvs/Makefile /usr/cvs/src/cvs-1.3/contrib/pcl-cvs/Makefile 22c22 < lispdir = /usr/local/lib/elisp --- > lispdir = ~athan/Development/emacs-19/lisp 26c26 < prefix=/usr/local --- > prefix= ~athan/Development/emacs-19 66c66 < makeinfo +fill-column=70 pcl-cvs.texinfo --- > ~athan/Development/emacs19.6/lib-src/makeinfo +fill-column=70 pcl-cvs.texinfo 78a79,80 > > Only in /usr/cvs/src/cvs-1.3/contrib/pcl-cvs: cookie.elc Only in /usr/cvs/src/cvs-1.3/contrib/pcl-cvs: elib-dll.elc Only in /usr/cvs/src/cvs-1.3/contrib/pcl-cvs: elib-node.elc Only in /usr/cvs/src/cvs-1.3/contrib/pcl-cvs: pcl-cvs Only in /usr/cvs/src/cvs-1.3/contrib/pcl-cvs: pcl-cvs.elc Only in cvs-1.3/doc: cvs.ps Only in /usr/cvs/src/cvs-1.3/doc: out Only in /usr/cvs/src/cvs-1.3: install Only in /usr/cvs/src/cvs-1.3/man: man1 Only in /usr/cvs/src/cvs-1.3/man: man5 Only in /usr/cvs/src/cvs-1.3: out diff -r cvs-1.3/src/Makefile.in /usr/cvs/src/cvs-1.3/src/Makefile.in 30c30 < status.c tag.c update.c vers_ts.c version.c subr.c --- > status.c tag.c update.c vers_ts.c version.c subr.c wrapper.c 37c37 < status.o tag.o update.o vers_ts.o --- > status.o tag.o update.o vers_ts.o wrapper.o diff -r cvs-1.3/src/add.c /usr/cvs/src/cvs-1.3/src/add.c 68a69,71 > /* ACA */ > wrap_setup(); > 136c139,140 < else if (!isdir (user)) --- > /*ACA*/ > else if (!isdir (user) || wrap_name_has(user,WRAP_TOCVS)) 160,162c164,168 < added_files++; < error (0, 0, "scheduling file `%s' for addition", < user); --- > added_files++; > error (0, 0, "scheduling %s `%s' for addition", > /*ACA*/ > wrap_name_has(user,WRAP_TOCVS) ? "wrapper":"file", > user); 250c256,257 < if (begin_err == err && isdir (user)) --- > /*ACA*/ > if (begin_err == err && isdir (user) && !wrap_name_has(user,WRAP_TOCVS)) 258c265 < (added_files == 1) ? "this file" : "these files"); --- > (added_files == 1) ? "this entry" : "these entries"); diff -r cvs-1.3/src/admin.c /usr/cvs/src/cvs-1.3/src/admin.c 59a60,62 > /*ACA*/ > wrap_setup(); > 63c66 < W_LOCAL, 0, 1, (char *) NULL, 1); --- > W_LOCAL, 0, 1, (char *) NULL, 1,0); diff -r cvs-1.3/src/checkin.c /usr/cvs/src/cvs-1.3/src/checkin.c 36a37,38 > char *tocvsPath=NULL; > char *filePath; 46,47c48,57 < if (!noexec) < copy_file (file, fname); --- > > /*ACA XXX fix this so that it preserves modes...*/ > tocvsPath = wrap_tocvs_process_file(file); > filePath=(tocvsPath==NULL ? file:tocvsPath); > > if(!noexec){ > kill_path(fname); > kill_path(fname); > copy_file (filePath, fname); > } 51a62 > run_arg (filePath); 66a78,82 > /* ACA */ > if(!noexec) > if(isfile(file) && kill_path (file) && kill_path (file) && kill_path (file)) > error(0,0, "wraning: could not remove %s before 'co'.",file); > 72,76c88,105 < xchmod (file, 1); < if (xcmp (file, fname) == 0) < rename_file (fname, file); < else < (void) unlink_file (fname); --- > > /* ACA At this point, file is an unprocessed wrapper file (possibly) */ > /* or, it is an original wrapper if noexec was set */ > /* if we are noexec, the files will be the same!! */ > if(!noexec){ > xchmod (file, 1); > if (xcmp (file, fname) == 0){ > unlink_file(file); > rename_file (fname, file); > } else > (void) unlink_file (fname); > } else { > if(trace) > fprintf(stderr, "-->Skipping comparison.\n"); > } > > /*ACA*/ > wrap_fromcvs_process_file(file); 104a134,139 > /*ACA XXX*/ > wrap_tocvs_cleanup(tocvsPath); > if(!noexec){ > /*rename_file (filePath, file); > wrap_fromcvs_process_file (file);*/ > } 114a150,151 > /*ACA*/ > wrap_tocvs_cleanup(tocvsPath); 116a154 > (void)kill_path(file); 117a156 > wrap_fromcvs_process_file (file); 121a161 > wrap_tocvs_cleanup(tocvsPath); diff -r cvs-1.3/src/checkout.c /usr/cvs/src/cvs-1.3/src/checkout.c 138a139 > /*ACA*/ 139a141 > wrap_setup (); diff -r cvs-1.3/src/commit.c /usr/cvs/src/cvs-1.3/src/commit.c 221a222,224 > /*ACA*/ > wrap_setup(); > 229c232,233 < argv, local, W_LOCAL, aflag, 0, (char *) NULL, 0); --- > argv, local, W_LOCAL, aflag, 0, (char *) NULL,0, > 0); 244c248,249 < argv, local, W_LOCAL, aflag, 0, (char *) NULL, 1); --- > argv, local, W_LOCAL, aflag, 0, (char *) NULL, 1, > 0); 258c263,264 < (char *) NULL, 1); --- > (char *) NULL, 1, > 0); diff -r cvs-1.3/src/config.h /usr/cvs/src/cvs-1.3/src/config.h 18a19 > #include "config.aca" 67c68 < #define DIFF "diff" --- > #define DIFF "/usr/cvs/hppa/bin/diff -a" 110c111 < #define RCSBIN_DFLT "" --- > #define RCSBIN_DFLT "/usr/cvs/hppa/bin" 121c122 < #define EDITOR_DFLT "vi" --- > #define EDITOR_DFLT "/NextApps/Edit.app/Edit" 135c136 < /* #define RELATIVE_REPOS */ --- > #define RELATIVE_REPOS diff -r cvs-1.3/src/cvs.h /usr/cvs/src/cvs-1.3/src/cvs.h 29a30 > 33a35,38 > #define CVS_TMPNAM(buf) cvs_tmpnam(buf) > #undef L_tmpnam > #define L_tmpnam 50 > 82a88 > #define CVSROOTADM_WRAPPER "cvswrappers" 104a111 > #define CVSDOTWRAPPER ".cvswrappers" 136c143 < #define CVSROOT_DFLT NULL /* No dflt; must set for checkout */ --- > #define CVSROOT_DFLT "/usr/local/Revision/src" /* No dflt; must set for checkout */ 138a146 > #define WRAPPER_ENV "CVSWRAPPERS" 260a269,271 > typedef enum { WRAP_MERGE, WRAP_COPY } WrapMergeMethod; > typedef enum { WRAP_TOCVS, WRAP_FROMCVS, WRAP_CONFLICT } WrapMergeHas; > 292a304,306 > int remove_dir (char *path); > int deep_remove_dir (char *path); > int kill_path (char *path); 320a335 > char *cvs_tmpnam(char *buf); 358c373 < int dosrcs); --- > int dosrcs, int intoWrappers); 360a376,384 > > void wrap_setup (); > int wrap_name_has (char *name,WrapMergeHas has); > FILE *wrap_tocvs_open_file (char *fileName,char *mode); > char *wrap_tocvs_process_file (char *fileName); > void wrap_tocvs_cleanup (char *fileName); > int wrap_merge_is_copy (char *fileName); > char *wrap_fromcvs_process_file(char *fileName); > 398a423,425 > int remove_dir (); > int deep_remove_dir (); > void kill_path (); 431a459 > char *cvs_tmpnam(); 437a466,474 > > void wrap_setup(); > int wrap_name_has (); > FILE *wrap_tocvs_open_file (); > char *wrap_tocvs_process_file (); > void wrap_tocvs_cleanup (); > int wrap_merge_is_copy (); > char *wrap_fromcvs_process_file(); > diff -r cvs-1.3/src/diff.c /usr/cvs/src/cvs-1.3/src/diff.c 16a17 > /* ACA XXX Must update*/ 156c157,158 < W_LOCAL, 0, 1, (char *) NULL, 1); --- > W_LOCAL, 0, 1, (char *) NULL, 1, > 0); 389c391 < switch (run_exec (RUN_TTY, tmpnam (tmp), RUN_TTY, RUN_REALLY)) --- > switch (run_exec (RUN_TTY, CVS_TMPNAM (tmp), RUN_TTY, RUN_REALLY)) Only in /usr/cvs/src/cvs-1.3/src: func diff -r cvs-1.3/src/import.c /usr/cvs/src/cvs-1.3/src/import.c 71a72 > "\t-W wrapspec\tcvswrappers type line.\n", 89a91 > /*ACA*/ 90a93 > wrap_setup (); 95c98 < while ((c = gnu_getopt (argc, argv, "Qqb:m:I:")) != -1) --- > while ((c = gnu_getopt (argc, argv, "Qqb:m:I:W:")) != -1) 125a129,132 > /*ACA*/ > case 'W': > wrap_add (optarg, 0); > break; 189c196 < if ((logfp = fopen (tmpnam (tmpfile), "w+")) == NULL) --- > if ((logfp = fopen (CVS_TMPNAM (tmpfile), "w+")) == NULL) 256a264 > /*ACA*/ 257a266 > wrap_add_file (CVSDOTWRAPPER, 1); 274c283,284 < if (isdir (dp->d_name)) --- > /*ACA*/ > if (isdir (dp->d_name) && !wrap_name_has(dp->d_name,WRAP_TOCVS)) 302c312,315 < if (ign_name (dp->d_name) || !isdir (dp->d_name)) --- > if (ign_name (dp->d_name) || > /*ACA*/ > wrap_name_has(dp->d_name,WRAP_TOCVS) || > !isdir (dp->d_name)) 364a378 > char *tocvsPath; 367a382,383 > > 402a419 > freevers_ts (&vers); 405c422,427 < different = xcmp (xtmpfile, vfile); --- > > /*ACA*/ > tocvsPath=wrap_tocvs_process_file(vfile); > different = xcmp (xtmpfile,(tocvsPath==NULL ? vfile:tocvsPath)); > wrap_tocvs_cleanup(tocvsPath); > 458a481 > char *tocvsPath; 476,477c499,502 < if (link_file (vfile, FILE_HOLDER) < 0) < { --- > /*ACA*/ > if((tocvsPath=wrap_tocvs_process_file(vfile))==NULL){ > if (link_file (vfile, FILE_HOLDER) < 0) > { 480,481c505,506 < (void) unlink_file (FILE_HOLDER); < (void) link_file (vfile, FILE_HOLDER); --- > (void) unlink_file (FILE_HOLDER); > (void) link_file (vfile, FILE_HOLDER); 485,488c510,513 < ierrno = errno; < fperror (logfp, 0, ierrno, "ERROR: cannot create link to %s", vfile); < error (0, ierrno, "ERROR: cannot create link to %s", vfile); < return (1); --- > ierrno = errno; > fperror (logfp, 0, ierrno, "ERROR: cannot create link to %s", vfile); > error (0, ierrno, "ERROR: cannot create link to %s", vfile); > return (1); 489a515 > } 490a517 > 492a520 > run_arg ((tocvsPath==NULL ? vfile:tocvsPath)); 496c524,529 < rename_file (FILE_HOLDER, vfile); --- > > /*ACA*/ > if(tocvsPath==NULL) > rename_file (FILE_HOLDER, vfile); > wrap_tocvs_cleanup(tocvsPath); > 706a740 > char *tocvsPath; 711a746 > /*ACA*/ 713c748,749 < fpuser = open_file (user, "r"); --- > tocvsPath = wrap_tocvs_process_file (user); > fpuser = open_file ((tocvsPath==NULL ? user:tocvsPath), "r"); 817a854,855 > /*ACA*/ > wrap_tocvs_cleanup(tocvsPath); 839a878,879 > /*ACA*/ > wrap_tocvs_cleanup(tocvsPath); diff -r cvs-1.3/src/log.c /usr/cvs/src/cvs-1.3/src/log.c 75a76,78 > /*ACA*/ > wrap_setup(); > 79c82,83 < (char *) NULL, 1); --- > (char *) NULL, 1, > 0); diff -r cvs-1.3/src/logmsg.c /usr/cvs/src/cvs-1.3/src/logmsg.c 152c152 < (void) tmpnam (fname); --- > (void) CVS_TMPNAM (fname); diff -r cvs-1.3/src/no_diff.c /usr/cvs/src/cvs-1.3/src/no_diff.c 32c32 < char *ts, *options; --- > char *ts, *options,*tocvsPath; 46c46 < if ((retcode = run_exec (RUN_TTY, tmpnam (tmp), RUN_TTY, RUN_REALLY)) == 0) --- > if ((retcode = run_exec (RUN_TTY, CVS_TMPNAM (tmp), RUN_TTY, RUN_REALLY)) == 0) 50a51,53 > /*ACA*/ > tocvsPath=wrap_tocvs_process_file(file); > 52c55 < if (xcmp (file, tmp) == 0) --- > if (xcmp ((tocvsPath==NULL ? file:tocvsPath), tmp) == 0) 71a75,77 > > /*ACA*/ > wrap_tocvs_cleanup(tocvsPath); Only in /usr/cvs/src/cvs-1.3/src: notes Only in /usr/cvs/src/cvs-1.3/src: out diff -r cvs-1.3/src/patch.c /usr/cvs/src/cvs-1.3/src/patch.c 267c267,268 < which, 0, 1, where, 1); --- > which, 0, 1, where, 1, > 0); 353c354 < if ((fp1 = fopen (tmpnam (tmpfile1), "w+")) != NULL) --- > if ((fp1 = fopen (CVS_TMPNAM (tmpfile1), "w+")) != NULL) 355c356 < if ((fp2 = fopen (tmpnam (tmpfile2), "w+")) != NULL) --- > if ((fp2 = fopen (CVS_TMPNAM (tmpfile2), "w+")) != NULL) 357c358 < if ((fp3 = fopen (tmpnam (tmpfile3), "w+")) != NULL) --- > if ((fp3 = fopen (CVS_TMPNAM (tmpfile3), "w+")) != NULL) Only in /usr/cvs/src/cvs-1.3/src: patches.tar.z diff -r cvs-1.3/src/recurse.c /usr/cvs/src/cvs-1.3/src/recurse.c 54c54 < update_preload, dosrcs) --- > update_preload, dosrcs, intoWrappers) 66a67 > int intoWrappers; 136c137,139 < if (isdir (argv[i])) --- > /*ACA*/ > if ((intoWrappers || !wrap_name_has(argv[i],WRAP_TOCVS)) > && isdir (argv[i])) 205c208,210 < if (isdir (comp)) --- > /*ACA*/ > if ((intoWrappers || !wrap_name_has(comp,WRAP_TOCVS)) && > isdir(comp)) diff -r cvs-1.3/src/remove.c /usr/cvs/src/cvs-1.3/src/remove.c 75a76,78 > /*ACA*/ > wrap_setup(); > 79c82,83 < W_LOCAL, 0, 1, (char *) NULL, 1); --- > W_LOCAL, 0, 1, (char *) NULL, 1, > 0); diff -r cvs-1.3/src/rtag.c /usr/cvs/src/cvs-1.3/src/rtag.c 227c227,228 < which, 0, 1, where, 1); --- > which, 0, 1, where, 1, > 0); diff -r cvs-1.3/src/status.c /usr/cvs/src/cvs-1.3/src/status.c 74a75,78 > /*ACA*/ > ign_setup(); > wrap_setup(); > 78c82,83 < W_LOCAL, 0, 1, (char *) NULL, 1); --- > W_LOCAL, 0, 1, (char *) NULL, 1, > 0); diff -r cvs-1.3/src/subr.c /usr/cvs/src/cvs-1.3/src/subr.c 398a399,473 > * unlink a file, if possible. > */ > int > remove_dir (path) > char *path; > { > if (trace) > (void) fprintf (stderr, "-> rmdir(%s)\n", path); > if (noexec) > return (0); > > return (rmdir (path)); > } > > int > kill_path (path) > char *path; > { > int oldTrace; > if (trace) > (void) fprintf (stderr, "-> kill_path(%s)\n",path); > if (noexec) > return 0; > > oldTrace=trace; > trace=0; > if( isdir(path) ){ > if(remove_dir(path)!=0){ > trace=oldTrace; > return deep_remove_dir(path); > } else { > trace=oldTrace; > return 0; > } > } else { > trace=oldTrace; > return unlink_file(path); > } > } > > int > deep_remove_dir (path) > char *path; > { > DIR *dirp; > struct direct *dp; > int err = 0; > char buf[PATH_MAX]; > > if ((dirp = opendir (path)) == NULL) > return 1; > > while ((dp = readdir (dirp)) != NULL){ > if (strcmp (dp->d_name, ".") == 0 || strcmp (dp->d_name, "..") == 0) > continue; > > sprintf(buf,"%s/%s",path,dp->d_name); > > if (isdir (buf)){ > if(deep_remove_dir(buf)){ > closedir(dirp); > return 1; > } > } else if(unlink_file(buf)){ > closedir (dirp); > return 1; > } > } > closedir (dirp); > > return remove_dir(path); > } > > > /* 912a988,1005 > > char * > cvs_tmpnam(buf) > char *buf; > { > static int count=0; > static char bbuf[50]; > if(buf==NULL) > buf=bbuf; > for(;;){ > sprintf(buf,"/tmp/cvstemp%dXXXXXX",count); > mktemp(buf); > if(!isfile(buf)) > break; > ++count; > } > return buf; > } diff -r cvs-1.3/src/tag.c /usr/cvs/src/cvs-1.3/src/tag.c 103c103,104 < W_LOCAL, 0, 1, (char *) NULL, 1); --- > W_LOCAL, 0, 1, (char *) NULL, 1, > 0); diff -r cvs-1.3/src/update.c /usr/cvs/src/cvs-1.3/src/update.c 44c44,45 < List *srcfiles, Vers_TS *vers_ts, char *update_dir); --- > List *srcfiles, Vers_TS *vers_ts, char *update_dir, > int makeBackup); 101a103 > "\t-W wrapspec\tcvswrappers type line.\n", 119a122 > /*ACA*/ 120a124 > wrap_setup (); 124c128 < while ((c = gnu_getopt (argc, argv, "ApPflRQqdk:r:D:j:I:")) != -1) --- > while ((c = gnu_getopt (argc, argv, "ApPflRQqdk:r:D:j:I:W:")) != -1) 133a138,141 > /*ACA*/ > case 'W': > wrap_add (optarg, 0); > break; 278c286,287 < preload_update_dir, 1); --- > preload_update_dir, 1, > 0); 333c342 < vers, update_dir); --- > vers, update_dir,0); 356,357c365,377 < retval = merge_file (file, repository, entries, < vers, update_dir); --- > /*ACA*/ > if(!wrap_merge_is_copy(file)){ > retval = merge_file (file, repository, entries, > vers, update_dir); > break; > } else { > retval = checkout_file (file, repository, entries, srcfiles, > vers, update_dir, 1); > break; > } > case T_CHECKOUT: /* needs checkout */ > retval = checkout_file (file, repository, entries, srcfiles, > vers, update_dir, 0); 362,365d381 < case T_CHECKOUT: /* needs checkout */ < retval = checkout_file (file, repository, entries, srcfiles, < vers, update_dir); < break; 600c616 < checkout_file (file, repository, entries, srcfiles, vers_ts, update_dir) --- > checkout_file (file, repository, entries, srcfiles, vers_ts, update_dir, makeBackup) 606a623 > int makeBackup; 615a633 > (void) kill_path (backup); 617,619c635 < rename_file (file, backup); < else < (void) unlink_file (backup); --- > rename_file (file, backup); 669a686,688 > /*ACA*/ > wrap_fromcvs_process_file(file); > 696a716 > /*ACA Turns out makeBackup is 1 only in the wrap_merge_is_copy case */ 698c718 < (void) printf ("U %s/%s\n", update_dir, file); --- > (void) printf ("%c %s/%s\n", (makeBackup ? 'C':'U'), update_dir, file); 700c720 < (void) printf ("U %s\n", file); --- > (void) printf ("%c %s\n", (makeBackup ? 'C':'U'), file); 702c722 < } --- > } 717,718c737,745 < if (!pipeout) < (void) unlink_file (backup); --- > if (!pipeout) { > if(makeBackup){ > char temp[PATH_MAX]; > (void) sprintf (temp, "%s%s.%s", BAKPREFIX, file, vers_ts->vn_user); > kill_path(temp); > rename_file(backup,temp); > } else > (void) kill_path (backup); > } 853a881,889 > /*ACA*/ > if(wrap_merge_is_copy(file)){ > error(0,0,"Cannot merge %s because it is a merge-by-copy file.",file); > return; > } else if(isdir(file)){ > error(0,0,"Cannot merge %s because it is a merge-by-copy file.",file); > return; > } > 1005a1042 > /*ACA*/ 1006a1044,1045 > wrap_add_file (CVSDOTWRAPPER, 1); > Only in /usr/cvs/src/cvs-1.3/src: wrapper.c Only in /usr/cvs/src/cvs-1.3/src: wrapper.c,v