From 5a375bab067201f510a278baa2468fef1aea7998 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Mon, 10 Nov 2014 17:16:36 -0500 Subject: [PATCH] A note on bikeshedding aout the status codes. --- src | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src b/src index f501299..51c9126 100755 --- a/src +++ b/src @@ -24,6 +24,30 @@ # 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. -- 2.43.0