]> thyrsus.com Git - src.git/commitdiff
A note on bikeshedding aout the status codes.
authorEric S. Raymond <esr@thyrsus.com>
Mon, 10 Nov 2014 22:16:36 +0000 (17:16 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Mon, 10 Nov 2014 22:16:36 +0000 (17:16 -0500)
src

diff --git a/src b/src
index f501299dbacb8cd7a18e497acb6435c946f5ec40..51c912622236eca27570246eb6943289606e4600 100755 (executable)
--- a/src
+++ b/src
 # This code uses magic tags with a 0 in the second-to-last slot to designate
 # branches.  It's the same format as CVS sticky tags.
 #
+# Top of the list of things that people will bikeshed about is the
+# letter codes returned by src status. Different VCSes have
+# cinflicting ideas about this. The universal ones are A = Added, M =
+# Modified, and ? = Untracked.  Here's a table of the ones in dispute.
+# Entries with '-' mean the VCS does not have a closely corresponding
+# status.
+#
+#                   git     hg     svn      src
+# Unmodified        ' '     'C'    ' '      'U'
+# Renamed           'R'      -      -        -
+# Deleted           'D'     'R'    'D'       -
+# Copied            'C'      -      -        -                 
+# Ignored           '!'     'I'    'I'      'I'
+# Updated/unmerged  'U'      -      -        -
+# Missing            -      '!'    '!'      '!'
+# Locked             -       -      -       'L'
+#
+# This is a bit oversimplified; it is meant not as a technical comparison
+# but rather to illustrate how bad the letter collisions are. SRC follows
+# the majority except for absolutely *not* using a space as a status code;
+# this makes the reports too hard to machine-parse. Thecdesigner judged that
+# the semantic collisiion wuth git's U was less bad than sucggesting that and
+# unmofied file had been copied.
+
 import sys, os, subprocess, time, calendar, stat, glob, shutil
 
 version=0.3
@@ -216,7 +240,7 @@ src checkout ['revision'] ['file'...]
    co is a synonym for checkout.
 
 src status ['file'...]
-   A = added, C = unmodified, M = modified, ! = missing, ? = not tracked,
+   A = added, U = unmodified, M = modified, ! = missing, ? = not tracked,
    I = ignored, L = locked (recover with src checkout).  The L
    status should only occur if you have used RCS directly on a file.