# 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
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.