Re: How to check repository/working tree status from a script

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

 



On Tue, May 19, 2009 at 09:29:08AM -0700, Linus Torvalds wrote:
> IOW, something like this:
> 
> 	# any staged changes (ready to commit)
> 	git diff --quiet --staged || echo Staged changes
> 
> 	# any changes wrt the index (not staged)
> 	others=$(git ls-files --exclude-standard -o -d -m -u)
> 	[ -z "$others" ] || echo "Other changes"
> 
> should do it.

This looks good.

> If you want more specificity wrt the "Other changes", you can add the "-t" 
> flag to git ls-files and parse the output to see whether the listed files 
> were just unknown (ie new files): '?', changed: 'C', removed: 'R' or need 
> to be merged: 'M'
> 
> Of course, 'git diff [--staged]' is needed if you actually want to know 
> some "deeper" patterns about _how_ things were changed. IOW, if you want 
> to know about renames/copies, you need to use 'git diff -M/C' to get that 
> kind of information.

Thanks. It's ok to just barf if there are any changes.

Background info: the data being version controlled is not source, but
configuration for one system which is collaboratively maintained.
There is a script which takes the currently checked out working tree,
"compiles" it into the actual configuration and rsyncs/activates the actual
configuration to the (one) target system. I would like to make sure
that if one of the admins runs this script, she has (a) pulled  all
changes that others may have pushed to the central repository and (b)
all her local changes are actually committed to her local repository
and (c) pushed to the central repository.

Greetings
Marc

-- 
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."    Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 3221 2323190

Bitte beachten Sie, daß dem [m.E. grundgesetzwidrigen] Gesetz zur
Vorratsdatenspeicherung zufolge, seit dem 1. Januar 2008 jeglicher
elektronische Kontakt (E-Mail, Telefongespräche, SMS, Internet-
Telefonie, Mobilfunk, Fax) mit mir oder anderen Nutzern verdachts-
unabhängig für den automatisierten geheimen Zugriff durch Strafver-
folgungs- u. Polizeivollzugsbehörden, die Bundesanstalt für Finanz-
dienstleistungsaufsicht, Zollkriminal- und Zollfahndungsämter,die
Zollverwaltung zur Schwarzarbeitsbekämpfung, Notrufabfragestellen,
Verfassungsschutzbehörden, den Militärischen Abschirmdienst, Bundes-
nachrichtendienst sowie 52 Staaten wie beispielsweise Aserbeidschan
oder die USA sechs Monate lang gespeichert wird, einschließlich der
Kommunikation mit Berufsgeheimnisträgern wie Ärzten, Journalisten und
Anwälten. Mehr Infos zur totalen Protokollierung Ihrer Kommunikations-
daten auf www.vorratsdatenspeicherung.de. (leicht verändert übernommen
kopiert von www.lawblog.de)
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]