diff options
Diffstat (limited to 'gnu/usr.bin/cvs/cvs/create_adm.c')
-rw-r--r-- | gnu/usr.bin/cvs/cvs/create_adm.c | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/gnu/usr.bin/cvs/cvs/create_adm.c b/gnu/usr.bin/cvs/cvs/create_adm.c deleted file mode 100644 index 1fe8185..0000000 --- a/gnu/usr.bin/cvs/cvs/create_adm.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (c) 1992, Brian Berliner and Jeff Polk - * Copyright (c) 1989-1992, Brian Berliner - * - * You may distribute under the terms of the GNU General Public License as - * specified in the README file that comes with the CVS 1.4 kit. - * - * Create Administration. - * - * Creates a CVS administration directory based on the argument repository; the - * "Entries" file is prefilled from the "initrecord" argument. - */ - -#include "cvs.h" - -#ifndef lint -static const char rcsid[] = "$CVSid: @(#)create_adm.c 1.28 94/09/23 $"; -USE(rcsid); -#endif - -/* update_dir includes dir as its last component. */ - -void -Create_Admin (dir, update_dir, repository, tag, date) - char *dir; - char *update_dir; - char *repository; - char *tag; - char *date; -{ - FILE *fout; - char *cp; - char tmp[PATH_MAX]; - -#ifdef SERVER_SUPPORT - if (trace) - { - char wd[PATH_MAX]; - getwd (wd); - fprintf (stderr, "%c-> Create_Admin (%s, %s, %s, %s, %s) in %s\n", - (server_active) ? 'S' : ' ', - dir, update_dir, repository, tag ? tag : "", - date ? date : "", wd); - } -#endif - - if (noexec) - return; - - if (dir != NULL) - (void) sprintf (tmp, "%s/%s", dir, CVSADM); - else - (void) strcpy (tmp, CVSADM); - if (isfile (tmp)) - error (1, 0, "there is a version in %s already", update_dir); - - make_directory (tmp); - -#ifdef CVSADM_ROOT - /* record the current cvs root for later use */ - - Create_Root (dir, CVSroot); -#endif /* CVSADM_ROOT */ - if (dir != NULL) - (void) sprintf (tmp, "%s/%s", dir, CVSADM_REP); - else - (void) strcpy (tmp, CVSADM_REP); - fout = fopen (tmp, "w+"); - if (fout == NULL) - { - if (update_dir[0] == '\0') - error (1, errno, "cannot open %s", tmp); - else - error (1, errno, "cannot open %s/%s", update_dir, CVSADM_REP); - } - cp = repository; - strip_path (cp); - -#ifdef RELATIVE_REPOS - /* - * If the Repository file is to hold a relative path, try to strip off - * the leading CVSroot argument. - */ - if (CVSroot != NULL) - { - char path[PATH_MAX]; - - (void) sprintf (path, "%s/", CVSroot); - if (strncmp (repository, path, strlen (path)) == 0) - cp = repository + strlen (path); - } -#endif - - if (fprintf (fout, "%s\n", cp) < 0) - { - if (update_dir[0] == '\0') - error (1, errno, "write to %s failed", tmp); - else - error (1, errno, "write to %s/%s failed", update_dir, CVSADM_REP); - } - if (fclose (fout) == EOF) - { - if (update_dir[0] == '\0') - error (1, errno, "cannot close %s", tmp); - else - error (1, errno, "cannot close %s/%s", update_dir, CVSADM_REP); - } - - /* now, do the Entries file */ - if (dir != NULL) - (void) sprintf (tmp, "%s/%s", dir, CVSADM_ENT); - else - (void) strcpy (tmp, CVSADM_ENT); - fout = fopen (tmp, "w+"); - if (fout == NULL) - { - if (update_dir[0] == '\0') - error (1, errno, "cannot open %s", tmp); - else - error (1, errno, "cannot open %s/%s", update_dir, CVSADM_ENT); - } - if (fclose (fout) == EOF) - { - if (update_dir[0] == '\0') - error (1, errno, "cannot close %s", tmp); - else - error (1, errno, "cannot close %s/%s", update_dir, CVSADM_ENT); - } - - /* Create a new CVS/Tag file */ - WriteTag (dir, tag, date); - -#ifdef SERVER_SUPPORT - if (server_active) - server_set_sticky (update_dir, repository, tag, date); - - if (trace) - { - fprintf (stderr, "%c<- Create_Admin\n", - (server_active) ? 'S' : ' '); - } -#endif - -} |