#12 ✓resolved
Michael Edgar

Aborted commits causing integrity errors.

Reported by Michael Edgar | November 28th, 2009 @ 01:39 PM

Reproduction:

amp init commitbackout
cd commitbackout
echo "hi" > a.txt
amp add a.txt
amp commit -m "first"
echo "hi" >> a.txt
amp commit # then CANCEL when your editor opens, giving a blank commit message
amp verify

resulting in:

michaeledgar:~/repotests/commitbackout $ amp verify
status: checking changelog...
status: checking manifests...
manifest@?: revision 1 points to nonexistent changeset 1
status: crosschecking files in changesets and manifests
status: checking files
a.txt@?: revision 1 points to nonexistent changeset 1
warning: (expected 0)
1 files, 1 changesets, 2 revisions
2 integrity errors, 1 warnings.

An aborted commit still results in the manifest being written as well as the associated file logs.

My best guess is that we are catching the abort and then for some reason, continuing on with the commit. Which is silly.

Comments and changes to this ticket

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Rethink Version Control.- http://amp.carboni.ca/

Amp aims to put control of version-control software in your hands as a developer. The entire system is written in Ruby (with C extensions to improve performance), and aims to implement all major VCS's in Ruby. Currently, Mercurial is implemented.

Other features:
Commands are first-class members of the system - drop in an "Ampfile" in your repository, and you can add commands to amp in the same manner you add commands to rake (only with far, far more power!)
Documentation is one of our biggest priorities. We require all methods to be documented - even comically simple ones.
Heavy testing.
Multiple "workflows" - use git's commands to power a mercurial repository.
Add hooks/callbacks in minutes.

Shared Ticket Bins

Pages