AmendHub

jcs

/

amend

/

amendments

/

repo.h

Amendments on October 1, 2026

*: Add author e-mail to settings and amendments

Migrate settings to a new version and prompt the user to add their e-mail
address, also rename "Author" to "Author Name" to make it more of a name
field than username like it was before.
When opening a v4 repo, migrate it to add an author e-mail to each record,
using the user's new name and e-mail if the username matches the first in
the repo (which is assumed to be the user's own username).
jcs made amendment 181 23 days ago

Amendments on September 28, 2026

*: Add native resource file handling

When a file ending in .rsrc is diffed, create a temporary file with an
ASCII hex dump of all the resources found in its resource fork, in the same
format that SaDerez does, and diff against that.
Store this dumped format in the bile repo to avoid having to convert twice,
and when doing a checkout of such a file, convert it from the hexdump
format stored in the repo to an actual resource file on disk.
jcs made amendment 178 25 days ago

Amendments on October 25, 2024

*: Switch diff views to TextView

This removes the 32k limit on viewing/committing a diff and the need
to keep checking for overflow.
We can also get rid of tetab since TextView incorporates that.
jcs made amendment 153 about 1 year ago

Amendments on March 21, 2024

amend.h: Move AMEND_CREATOR here, it'll be used for other files

jcs made amendment 145 over 2 years ago

Amendments on March 18, 2024

repo: Bump repo version just to fix diffs generated in 3.3

3.3 had a bug in diffreg that was inserting errant newlines after a
@@ chunk, which confuses patch. We can detect and fix these, which
we do with a version migration. The repo format doesn't actually
change.
Unfortunately we still have problems with files that didn't have
newlines at the end since we were just inserting a newline rather
than leaving the default "\ No newline at end of file" that diff
prints, which patch knows to ignore. I'm not sure it's possible to
automatically detect and fix such diffs at this point.
Also show amendment number when viewing.
jcs made amendment 141 over 2 years ago

Amendments on January 11, 2024

repo: If command+period is pressed while loading a repo, abort

jcs made amendment 129 over 2 years ago

Amendments on November 1, 2023

browser: Use a custom LDEF for file list to cross out deleted files

Also sort the list with deleted files at the bottom
jcs made amendment 126 over 2 years ago

Amendments on May 4, 2023

browser: Speed up repo loads by only loading newest 100 amendments

Usually I just open a repo and want to diff+commit, but loading 500
amendments takes forever. Just load the newest 100 to show some
history, and add a list item that, when clicked, will load the full
history.
This is configurable by a new setting and can be 0 to disable.
Also, since we are sorting amendment IDs through bile, assume they're
already in order by date and avoid having to sort them all again
after processing.
jcs made amendment 122 over 3 years ago

Amendments on November 10, 2022

browser: Tweak menu language, fix bug in amendment exporting

We were passing a NULL pointer to SFPutFile instead of an empty
Pascal string, which has bad results on System 7. Now we will
supply "amendment_##.diff" as the default filename.
Also rename exporting functions to export an amendment instead of
a patch. The patch utility applies a diff, not a patch. But we're
exporting the whole amendment anyway.
jcs made amendment 107 over 3 years ago

Amendments on August 17, 2022

repo: Factor out amendment marshalling

I wish I could use bile's marshalling for this, but the current
on-disk format of things is weird in Amend and would require a
database upgrade to convert to bile's way of storing variable-length
fields.
Start on renaming commit to amendment.
jcs made amendment 87 over 4 years ago

Amendments on June 15, 2022


Amendments on April 16, 2022

committer: Update file metadata on commit even if no text changes

When diffing each file, if there is no text change but a
size/mtime/ctime change that caused us to examine the file to begin
with, we should save that new data on commit so we don't have to
examine it again on the next commit.
jcs made amendment 64 over 4 years ago

Amendments on January 11, 2022

repo: New repo version 3, switching to bile files

No migration at this time, it's done with a different program
jcs made amendment 42 over 4 years ago

Amendments on December 30, 2021

repo: Implement a backup mechanism, backup the repo before committing

Unfortunately some bug in Amend can cause a crash during/after a
commit which corrupts the resource file, making it unusable :(
jcs made amendment 39 over 4 years ago

Amendments on December 16, 2021


Amendments on December 15, 2021

committer: If "All Files" is selected, skip diffing unchanged files

If the file size, ctime, and mtime are all the same, consider it
unchanged.
jcs made amendment 33 over 4 years ago

Amendments on November 22, 2021

Repo: Support file deletion, repo versioning and migration

I broke my own rule of always adding versions to things, so start
now and migrate all unversioned repos to version 2 which adds file
flags.
When a file is deleted, doing a diff of it will diff against a blank
file and then the file in the repo is marked as deleted. For now this
just draws the file with tildes in the file list, but a custom LDEF
will draw these as strucken through.
Also fix a few bugs along the way...
jcs made amendment 31 over 4 years ago

Amendments on October 28, 2021

patch: Initial progress on patch applying

Unify on "patch" instead of "diff" terminology for export/apply
jcs made amendment 21 over 4 years ago

Amendments on October 27, 2021

browser+repo: Add diff exporting

Refactor diff header generation into a function to also use here.
When disabling menus, only disable their items. This avoids having
to call DrawMenuBar() which flashes annoyingly.
jcs made amendment 20 over 4 years ago

Amendments on October 20, 2021