bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cvs.texinfo updates? add/remove/tag


From: Mark D. Baushke
Subject: Re: cvs.texinfo updates? add/remove/tag
Date: Sat, 12 Aug 2006 16:06:14 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Kevin,

makeinfo 4.8 does not like your patch. 

% make cvs.info
cvs.texinfo:11721: `remove' has no Up field (perhaps incorrect sectioning?).
cvs.texinfo:9023: `add' has no Up field (perhaps incorrect sectioning?).
makeinfo: Removing output file `cvs.info' due to errors; use --force to 
preserve.
% 

So, you still have a bit of work to do before your patch may be used.

My guess is that you need a patch like this one:

@@ -8248,6 +8248,7 @@ reference to @sc{cvs} commands, @pxref{I
 * Global options::              Options you give to the left of cvs_command
 * Common options::              Options you give to the right of cvs_command
 * Date input formats::         Acceptable formats for date specifications
+* add::                         Adding new files and directories
 * admin::                       Administration
 * annotate & rannotate::        What revision modified each line of a file?
 * checkout::                    Checkout sources for editing
@@ -8260,6 +8261,7 @@ reference to @sc{cvs} commands, @pxref{I
 * ls & rls::                    List files in the repository
 * rdiff::                       'patch' format diffs between releases
 * release::                     Indicate that a directory is no longer in use
+* remove::                      Removing files
 * server & pserver::            Act as a server for a client on stdin/stdout
 * sign::                        Attach new OpenPGP revision signature
 * tag & rtag::                  Mark project snapshot for later retrieval

but I have not looked closely to determine if that works in the flow of
both the manual and the man page.

More comments in-line. Others may also have comments.

Kevin R. Bulgrien <kbulgrien@worldnet.att.net> writes:

> --Boundary-00=_JSk3EwgtVVx4kQr
> Content-Type: text/plain;
>   charset="iso-8859-1"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline
> 
> The attached patch may be freely redistributed.
> 
> This patch creates sections in cvs.1 for the add and remove commands.
> I attempted to duplicate precedents of style and content, and copy/
> pasted applicable segments of text to assure consistent wording, but
> please feel free to alter it or make suggestions for a resubmission.
> 
> The patch also modifies one other example slightly because it messed
> up vim's syntax highlighting from the point at which it occurred to the
> end of the file.  While this may be a vim syntax highlighter issue, the
> example is readable in the current form, and does not affect vim's
> highlighting.  In essence, when a command is literally written:
> 
>   some_command | \
>   some_other_command
> 
> In Bash, the prompting is as follows:
> 
>   $ some_command | \
>   > some_other_command
> 
> The example previously used:
> 
>   $ some_command | \
>   $$ some_other_command
> 
> This was likely a legitimate example for some other shell, but it did
> have the unfortunate effect of breaking vim's syntax highlighting.

Okay, I don't have a problem with that kind of change.

> 
> On a side note, it amused me to learn why something I did last
> week didn't work.  I guess there  is a ten-year old bug in cvs.
> The cvs add -m option does not appear to have any effect.
> 
>   $ grep -A1 "BUG.*-m" cvs.texinfo
>   @c As noted in BUGS, -m is broken client/server (Nov
>   @c 96).  Also see testsuite log2-* tests.
> 
> Should I replicate the @c near my new man page sections and
> resubmit?

I do not see it as a pressing issues either way. If you wanted to say
that cvs add -m only works in :local: mode that would be okay. The
workaround is to use the cvs admin -t-'message' option to set the
descriptive text after the commit has occured in client/server mode.

> Kevin R. Bulgrien
> http://kbulgrien.home.att.net
> 
> --Boundary-00=_JSk3EwgtVVx4kQr
> Content-Type: text/x-diff;
>   charset="iso-8859-1";
>   name="cvs.texinfo.patch"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: attachment;
>       filename="cvs.texinfo.patch"
> 
> Index: cvs.texinfo
> ===================================================================
> RCS file: /sources/cvs/ccvs/doc/cvs.texinfo,v
> retrieving revision 1.695
> diff -u -r1.695 cvs.texinfo
> --- cvs.texinfo       12 Aug 2006 02:50:12 -0000      1.695
> +++ cvs.texinfo       12 Aug 2006 20:55:40 -0000
> @@ -9020,6 +9020,96 @@
>  @include getdate-cvs.texi
>  
>  @c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> +@node add

This node needs to be added as a menu item to some other node.

> +@appendixsec add---Add files to the repository
> +@cindex add (subcommand)
> +
> +@itemize @bullet
> +@item
> +Synopsis: add [-k rcs-kflag] [-m message] files...
> +@item
> +Requires: repository, working directory.
> +@item
> +Changes: repository, working directory.
> +@end itemize
> +
> +The @code{add} command is used to present new files
> +and directories for addition into the @sc{cvs}
> +repository.  When @code{add} is used on a directory,
> +a new directory is created in the repository
> +immediately.  When used on a file, only the working
> +directory is updated.  Changes to the repository are
> +not made until the @code{commit} command is used on
> +the newly added file. 
> +
> +The @code{add} command also resurrects files that
> +have been removed but not committed.  Resurrected
> +files are restored into the working directory at the
> +time the @code{add} command is executed.

This is not a completely true statement. The add command may ressurrect
a previously removed file as well. Consider this example:

    $ cvs -d /tmp/mdb.repos init
    $ cvs -d /tmp/mdb.repos co -d top .
    cvs checkout: Updating top
    cvs checkout: Updating top/CVSROOT
    U top/CVSROOT/checkoutlist
    U top/CVSROOT/commitinfo
    U top/CVSROOT/config
    U top/CVSROOT/cvswrappers
    U top/CVSROOT/editinfo
    U top/CVSROOT/loginfo
    U top/CVSROOT/modules
    U top/CVSROOT/notify
    U top/CVSROOT/rcsinfo
    U top/CVSROOT/taginfo
    U top/CVSROOT/verifymsg
    $ cd top
    $ mkdir foo && cvs add foo
    Directory /tmp/mdb.repos/foo added to the repository
    $ cd foo
    $ echo hello > hello.txt
    $ cvs add hello.txt
    cvs add: scheduling file `hello.txt' for addition
    cvs add: use 'cvs commit' to add this file permanently
    $ cvs ci -madd hello.txt 
    RCS file: /tmp/mdb.repos/foo/hello.txt,v
    done
    Checking in hello.txt;
    /tmp/mdb.repos/foo/hello.txt,v  <--  hello.txt
    initial revision: 1.1
    done
    $ cvs rm -f hello.txt 
    cvs remove: scheduling `hello.txt' for removal
    cvs remove: use 'cvs commit' to remove this file permanently
    $ cvs ci -mremove hello.txt
    Removing hello.txt;
    /tmp/mdb.repos/foo/hello.txt,v  <--  hello.txt
    new revision: delete; previous revision: 1.1
    done
    $ cvs add hello.txt
    cvs add: Resurrecting file `hello.txt' from revision 1.1.
    U hello.txt
    cvs add: Re-adding file `hello.txt' (in place of dead revision 1.2).
    cvs add: use 'cvs commit' to add this file permanently
    $ cat hello.txt
    hello
    $ cvs ci -mre-add hello.txt 
    Checking in hello.txt;
    /tmp/mdb.repos/foo/hello.txt,v  <--  hello.txt
    new revision: 1.3; previous revision: 1.2
    done
    $ 

So, it may be desirable to reword your paragraph somewhat.

> +
> +@menu
> +* add options::             add options
> +* add examples::            add examples
> +@end menu
> +
> +@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> +@node add options
> +@appendixsubsec add options
> +
> +These standard options are supported by @code{add}
> +(@pxref{Common options}, for a complete description of
> +them):
> +
> +@table @code
> +@item -k @var{kflag}
> +Process keywords according to @var{kflag}.  See
> +@ref{Keyword substitution}.
> +This option is sticky; future updates of
> +this file in this working directory will use the same
> +@var{kflag}.  The @code{status} command can be viewed
> +to see the sticky options.  See @ref{Invoking CVS}, for
> +more information on the @code{status} command.
> +
> +@item -m @var{message}
> +Use @var{message} as the log message, instead of
> +invoking an editor.
> +@end table
> +
> +@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> +@node add examples
> +@appendixsubsec add examples
> +
> +@appendixsubsubsec Adding a directory
> +
> +@example
> +$ mkdir doc
> +$ cvs add doc
> +Directory /path/to/repository/doc added to the repository
> +@end example
> +
> +@appendixsubsubsec Adding a file
> +
> +@example
> +
> +$ >TODO
> +$ cvs add TODO
> +cvs add: scheduling file `TODO' for addition
> +cvs add: use 'cvs commit' to add this file permanently
> +@end example
> +
> +@appendixsubsubsec Undoing a @code{remove} command
> +
> +@example
> +$ rm -f makefile
> +$ cvs remove makefile
> +cvs remove: scheduling `makefile' for removal
> +cvs remove: use 'cvs commit' to remove this file permanently
> +$ cvs add makefile
> +U makefile
> +cvs add: makefile, version 1.2, resurrected
> +@end example
> +
> +@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>  @node admin
>  @appendixsec admin---Administration
>  @cindex Admin (subcommand)
> @@ -11493,7 +11583,7 @@
>  
>  @example
>  $ cvs rdiff -c -r FOO1_2 -r FOO1_4 tc | \
> -$$ Mail -s 'The patches you asked for' foo@@example.net
> +> Mail -s 'The patches you asked for' foo@@example.net
>  @end example
>  
>  Suppose you have made release 1.3, and forked a branch
> @@ -11628,6 +11718,94 @@
>  @end example
>  
>  @c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> +@node remove
> +@appendixsec remove---Remove files from development
> +@cindex remove (subcommand)
> +
> +@itemize @bullet
> +@item
> +Synopsis: remove [-flR] [files...]
> +@item
> +Requires: repository, working directory.
> +@item
> +Changes: working directory.
> +@end itemize
> +
> +The @code{remove} command is used to remove old files
> +from active development.  Only the working directory
> +is updated.  Changes to the repository are not made
> +until the @code{commit} command is used on newly
> +removed files.  The user normally deletes files from
> +the working directory before the @code{remove}
> +command is invoked.
> +
> +The @code{remove} command does not delete files from
> +from the repository.  @sc{cvs} keeps all historical
> +data in the repository so that it is possible to
> +reconstruct previous states of the projects under
> +revision control.
> +
> +To undo @sc{cvs} @code{remove} before committing the
> +changes @xref{add}.
> +
> +@menu
> +* remove options::             remove options
> +* remove examples::            remove examples
> +@end menu
> +
> +@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> +@node remove options
> +@appendixsubsec remove options
> +
> +These standard options are supported by @code{remove}
> +(@pxref{Common options}, for a complete description of
> +them):
> +
> +@table @code
> +@item -l
> +Local; run only in current working directory.  @xref{Recursive behavior}.
> +
> +@item -R
> +Process directories recursively.  @xref{Recursive behavior}.
> +
> +@end table
> +
> +In addition, these options are also supported:
> +
> +@table @code
> +@item -f
> +Note that this is not the standard behavior of
> +the @samp{-f} option as defined in @ref{Common options}.
> +
> +Delete the file before removing it.

It is worth noting that you may specify an entire directory with the -f
option and mark the entire hierarchy for deletion at the next commit.

> +
> +@end table
> +
> +@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> +@node remove examples
> +@appendixsubsec remove examples
> +
> +@appendixsubsubsec Removing a file
> +
> +@example
> +$ cvs remove remove.me
> +cvs remove: file `remove.me' still in working directory
> +cvs remove: 1 file exists; remove it first
> +$ rm -f remove.me
> +$ cvs remove remove.me
> +cvs remove: scheduling `remove.me' for removal
> +cvs remove: use 'cvs commit' to remove this file permanently
> +@end example
> +
> +@example
> +$ ls remove.it
> +remove.it
> +$ cvs remove -f remove.it
> +cvs remove: scheduling `remove.it' for removal
> +cvs remove: use 'cvs commit' to remove this file permanently
> +@end example
> +
> +@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>  @node server & pserver
>  @appendixsec server & pserver---Act as a server for a client on stdin/stdout
>  @cindex pserver (subcommand)
> 
> --Boundary-00=_JSk3EwgtVVx4kQr
> Content-Type: text/plain; charset="us-ascii"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline
> 
> _______________________________________________
> Bug-cvs mailing list
> Bug-cvs@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/bug-cvs
> --Boundary-00=_JSk3EwgtVVx4kQr--
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (FreeBSD)

iD8DBQFE3l7mCg7APGsDnFERAvByAJ9yzDOxzD+SdhjBNgPHhUlbvHs8SwCgqObA
+/CA8DW8hyFdrDUyt6oZDPg=
=0cUk
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]