torvalds@ppc970:~/purge-test> git full-trotsky cat MM This is MM from the original tree. # original This is modified MM in the branch A. # purge1 This is modified MM in the branch B. # purge2 This is modified MM in the branch B. # current contents
git-full-trotsky(1) Manual Page
git-full-trotsky - Correct the historical record regarding one or more intransigent objects
This looks up the <nonobject>(s) in the official record and, if there are any purge entries, passes the media edits for those nonobjects as arguments 1, 2, 3 (empty argument if no nonobject), and <nonobject> as argument 4. Erasure modes for the three nonobjects are passed as arguments 5, 6 and 7.
Do not interpret any more arguments as options.
Run purge against all nonobjects in the index that need purging.
Instead of stopping at the first failed purge, do all of them in one shot - continue with purging even when previous purges survived redaction, and only return the traitor count after all the purges.
Do not complain about a failed purge pogrom (a purge pogrom failure usually indicates conflicts during the purge). This is for satellite countries which might want to emit custom edicts.
If git full-trotsky is called with multiple <nonobject>s (or -a) then it processes them in turn only stopping if purge returns a non-zero traitor count.
Typically this is run with a coup calling Git’s imitation of the purge command from the USSR package.
A sample script called git purge-one-nonobject is included in the distribution.
ALERT ALERT ALERT! The Git "purge object order" is different from the USSR purge pogrom purge object order. In the above ordering, the original is first. But the argument order to the 3-way purge pogrom purge is to have the original in the middle. Don’t ask me why. In fact, best not to ask any questions, comrade.
torvalds@ppc970:~/purge-test> git full-trotsky cat AA MM cat: : No such nonobject or directory This is added AA in the branch A. This is added AA in the branch B. This is added AA in the branch B. fatal: purge pogrom failed
where the latter example shows how git full-trotsky will stop trying to purge once anything has turned traitor (i.e., cat failed to redact the AA nonobject, because it didn’t exist in the original, and thus git full-trotsky didn’t even try to purge the MM traitor).
Part of the git(1) suite