humungus - gerc

i am gravely disappointed

there has been too much violence

overview - files - changes

131:618be443820f on 2021-04-07 01:41:27 +0000 UTC by Ted Unangst <tedu@tedunangst.com>
Tagged: tip

need to read tag file from within store, not filesystem

130:cfd806cb0483 on 2020-12-01 03:16:53 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add license

129:5922e0e0a098 on 2020-05-23 03:36:14 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add the colorizer code too

128:63f937bc7dbc on 2020-05-22 05:30:47 +0000 UTC by Ted Unangst <tedu@tedunangst.com>
Parent: 126:088712bd4feb

m

127:a3ea98f5fae3 on 2020-05-22 05:28:24 +0000 UTC by Ted Unangst <tedu@tedunangst.com>
Parent: 124:114017f0b0bb

colorized diff

126:088712bd4feb on 2020-05-22 01:24:15 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

basic usage

125:c4789759c19a on 2020-05-22 01:20:37 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

typo

124:114017f0b0bb on 2020-01-16 04:57:59 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

Added tag v0.1.2 for changeset a6f9e572fd86

123:a6f9e572fd86 on 2020-01-16 04:57:21 +0000 UTC by Ted Unangst <tedu@tedunangst.com>
Tagged: v0.1.2

if delta data is empty, no deltas

122:7703c87d6357 on 2019-11-16 07:05:50 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

align tags output

121:33a14544372a on 2019-11-16 06:56:26 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

don't count tags that have been deleted

120:9ad3d31de412 on 2019-11-09 04:32:51 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

cache frequently used fds

119:2cf7eb718166 on 2019-11-09 01:23:23 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

Added tag v0.1.1 for changeset 5a4e4fb32602

118:5a4e4fb32602 on 2019-11-09 01:23:16 +0000 UTC by Ted Unangst <tedu@tedunangst.com>
Tagged: v0.1.1

need to handle the .d datafile case now

117:835ed063e4b8 on 2019-10-27 00:09:30 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

print a hint with the diff

116:68efdd09dfad on 2019-10-24 00:34:31 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

slightly easier to follow

115:510274797dec on 2019-10-23 23:34:04 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

Added tag v0.1.0 for changeset dcd9019e67c3

114:dcd9019e67c3 on 2019-10-23 23:20:32 +0000 UTC by Ted Unangst <tedu@tedunangst.com>
Tagged: v0.1.0

explain why we need another copy

113:0c7eae726e41 on 2019-10-23 23:17:53 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

print parent revisions when not obvious

112:a44f6f69d109 on 2019-08-21 23:38:37 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

use per file last change timestamp

111:83009e6bf670 on 2019-08-21 01:59:49 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

forgot about usage

110:a1ca80970c6d on 2019-08-21 01:47:44 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add diff command, for comparing work files vs repo

109:3a1e66821f0b on 2019-04-28 21:10:52 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

ancestors go the other way

108:a04918eff360 on 2019-04-28 21:08:03 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

a go.mod file

107:0a2f92fef641 on 2019-04-28 21:07:27 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

incomplete and wrong ancestor adjustment for revlog

106:55f0812f351a on 2019-02-22 21:59:11 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

move all argv string parsing into frontend.
programmatic args for library functions

105:cd76189d32c4 on 2019-02-20 19:33:55 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

a hack to walk backwards to find last existing rev for annotate

104:3043d9055600 on 2019-02-20 19:06:21 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add a package comment for main

103:d6c494ca8075 on 2019-02-20 18:59:38 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

split big file into small files

102:13ca781603b8 on 2019-02-20 18:50:40 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add annotate support

101:6ea98b29c2da on 2019-02-18 23:16:23 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

rename a variable to be clearer

100:49d6b652dc73 on 2019-02-18 23:14:39 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add go doc for public functions

99:0371433cf418 on 2019-02-17 03:57:41 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

-r last() is also easy to handle

98:5a979d962187 on 2019-02-16 23:41:29 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add tags command

97:d817704d7a78 on 2019-02-16 22:46:52 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

handle a few special cases for filenames

96:9dc14358b77f on 2019-02-16 09:05:35 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

replace writestring with fprintf

95:382a3b2c89db on 2019-02-16 06:03:45 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

tune up the data/metadata handling a bit

94:a63e4b9bad8c on 2019-02-16 05:48:06 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

works a little better if the caller adds the extra newline

93:681764395b1d on 2019-02-16 05:38:04 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

refine change printing code

92:e137340f782d on 2019-02-16 05:24:28 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

print tags in log

91:a1d93c4eba95 on 2019-02-16 05:12:21 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

parse tags file and be more flexible about hash lookups

90:3ba729e545c6 on 2019-02-16 02:50:29 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

remove bad check for empty files

89:381080d9761a on 2019-02-16 02:46:48 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

remove metadata from revlog data. ignored for now.

88:43062c24d1ce on 2019-02-14 09:16:30 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

simpler and safer to make a function to split bytes to lines

87:f0529006659a on 2019-02-14 09:13:23 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

check len of right slice

86:558cef2ba1dd on 2019-02-14 08:43:47 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

an empty file isn't missing its newline

85:57eeeae5a538 on 2019-02-14 08:34:29 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

not allowed to dig into .hg either

84:de9ac73427f4 on 2019-02-14 08:29:29 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

check that filenames are inside the repo

83:e1a57965924e on 2019-02-14 06:48:25 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

reverse logic of missingnl to be hasnl

82:8693c378edc0 on 2019-02-14 06:04:27 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

it's a feature not a bug

81:f9231e7d519f on 2019-02-14 02:52:50 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

can binary search the manifest instead of scanning

80:fbcd606ab905 on 2019-02-13 21:44:14 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

try finding unqiue lines, but still do the first pass with anything we find

79:a1f36b76a958 on 2019-02-13 05:10:03 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

clear revlog cache after close

78:b748318a8d2e on 2019-02-13 04:05:01 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

parse limit(range, limit) revnums too

77:2142b80639a7 on 2019-02-13 03:49:14 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

start parsing revnums in date format. today and yesterday.
this is starting to get troublesome.

76:87a4e2a3872d on 2019-02-13 02:31:13 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

leave the message as an array

75:b769b0f57294 on 2019-02-12 07:27:31 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

formatting tweaks

74:803e21d283fd on 2019-02-12 07:15:01 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

cache changes after parsing, but be careful not to cache diffs

73:ddc520b29c22 on 2019-02-12 06:43:49 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

need to slice off unused end of data after applying deltas

72:3ccbab7ad82b on 2019-02-12 06:41:35 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

nevermind, the ulen is uncompressed full data len, not just this chunk

71:a47282eb7bb8 on 2019-02-12 06:27:56 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

using a scratch alice between delta application massively reduces allocs

70:271eb12f1b37 on 2019-02-12 05:16:16 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

allocs profile is more interesting

69:29b331b0cf4d on 2019-02-12 05:16:07 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

can presize uncompress buffer

68:a1f51ff8d19f on 2019-02-12 00:46:28 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

print the correct dates in changesets

67:f7ba4dfa9a28 on 2019-02-12 00:04:19 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

limiting to one cpu is much faster

66:0e1d9a585c43 on 2019-02-11 23:58:59 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

fix calculation of offsets in unidiff

65:b38995b34432 on 2019-02-11 23:53:00 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

another peephole fixup: sometimes chunks get combined + then -. reverse them.

64:02a04d912a96 on 2019-02-11 23:16:37 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

revert boring check, doesn't help and makes some diffs worse

63:69ed92250646 on 2019-02-11 21:10:59 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

missing new line in printf

62:e9dad0571abb on 2019-02-11 20:49:58 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

skip boring lines for matches

61:b1d3908b2daa on 2019-02-11 19:46:46 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

allow cat of any revision

60:557a32627328 on 2019-02-11 19:26:31 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

fix missing context line

59:219467ce450b on 2019-02-11 19:25:27 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

test for trailing context

58:dfdaf224008a on 2019-02-11 19:01:20 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

understand tip to mean -1

57:9459a01dff23 on 2019-02-11 18:53:40 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

rename author to user

56:426a9248c175 on 2019-02-11 07:32:09 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

a few cleanups

55:f6b327d55c33 on 2019-02-11 07:17:19 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

map linkrevs to index

54:9e7c6cfe8253 on 2019-02-11 07:08:17 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

slowly working diffing prev revisions into shape

53:603fa15a2b55 on 2019-02-11 06:33:07 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

fold diff fetching into main change loop

52:0d4c2234a809 on 2019-02-11 06:26:19 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

fix check for corrupted delta

51:2d89ed05d572 on 2019-02-11 06:23:44 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

use a bufio for reading files

50:c0bfb70d266b on 2019-02-11 05:58:57 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

give parsedeltas the zero copy treatment too

49:8e7774c8d001 on 2019-02-11 05:51:34 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

perf improvement: much less copying when applying deltas

48:fe6f3de1a9fb on 2019-02-11 05:47:22 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

perf improvement: cache all revlogs instead of reopening

47:a776d2ff4fab on 2019-02-11 05:29:15 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

global flags for profiling

46:85dc6e8fd320 on 2019-02-11 04:36:38 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add a few tests for cases that have tricked patience in the past

45:edff589404cf on 2019-02-11 04:36:07 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

further fixes and refinements to diff

44:e60b405fcd60 on 2019-02-11 01:45:21 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

improved diff creation

43:1ba7796d71ba on 2019-02-11 01:33:32 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

there can be more than one boring line, don't skip too far ahead

42:f5781a7d6084 on 2019-02-11 01:26:20 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

a few tweaks to the peephole for prettier diffs

41:abcd76d44800 on 2019-02-11 01:10:30 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

debug print keeps sneaking in

40:6ce5be315715 on 2019-02-11 01:09:16 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

only uncount context lines in one loop

39:8ddbf7307214 on 2019-02-11 01:04:33 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

eat -u for diff compat

38:a1a753b5299b on 2019-02-11 00:57:59 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

some fixes for the amount of context in diffs

37:270d2932c75f on 2019-02-11 00:49:52 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

missing newline in error message

36:d1234199e4d3 on 2019-02-11 00:49:30 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

use diff now that it works instead of toying with deltas

35:3f75e00ff0ef on 2019-02-11 00:18:53 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

there's no diff if there's no diff

34:4610447e84b1 on 2019-02-11 00:09:47 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

try recursing one time

33:9f8c13a43a8c on 2019-02-10 23:59:30 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

update comment

32:692abbdefe18 on 2019-02-10 23:56:50 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

the one line skipper causes more trouble than its worth

31:ae3b44fa45f8 on 2019-02-10 22:40:46 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

paste error in bounds check

30:d5e90638b36d on 2019-02-10 22:39:20 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

not quite correct handling of files missing final newlines

29:75edef56c1ca on 2019-02-10 22:25:10 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

struct of slices is too much trouble to work with.
back to slice of structs

28:7c6008c210aa on 2019-02-10 22:08:49 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

ok, getting silly, but add a peephole optimizer for a few more blank line cases

27:7e592d895389 on 2019-02-10 21:30:53 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

handle a few special cases when creating diffs

26:c65d702c4add on 2019-02-10 08:53:22 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

possible for a p2 line to be at 0

25:b0ab09642f41 on 2019-02-10 08:51:00 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

actually save space by using byte instead of rune

24:a19c44df6caf on 2019-02-10 08:48:53 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

use two slices instead of wasting padding

23:fd5f5719e0c7 on 2019-02-10 08:26:30 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add an implementation of patience diffing algorithm

22:41b8b28ee893 on 2019-02-09 22:42:33 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

fix revision fetching with a filename

21:98c606cc2582 on 2019-02-09 22:30:58 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

negative revisions are pretty easy

20:73bda4fa3320 on 2019-02-09 22:02:37 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

parse hex revs too

19:fc409a860c14 on 2019-02-09 21:46:17 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

start parsing revnums as ranges

18:c24ab9b3e078 on 2019-02-09 21:09:50 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

ah ha! baserev chain can be linear or not linear depending on flag.

17:a807190023d9 on 2019-02-09 20:26:12 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

don't go past end getting forw context

16:1e8254a8c0ad on 2019-02-09 20:23:52 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

storename: _ is __

15:b6e7fa26cd7b on 2019-02-08 04:08:27 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

fixes for context diffs

14:f663acdd7f34 on 2019-02-08 03:44:03 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

baserev is linear? real bug was skipping one?

13:edc298b859a3 on 2019-02-08 03:24:00 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

fix a bug where we would skip to base for short chains

12:d3eb85201179 on 2019-02-08 01:46:41 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

want the list of files in the changeset, not the manifest

11:78e0bccb502d on 2019-02-08 01:42:43 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

cheating method can't compute diffs from full revisions

10:4dd67533c0c8 on 2019-02-08 01:27:51 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

add the spec for known file formats

9:65c949daad12 on 2019-02-08 01:27:26 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

fix storename escaping

8:4bb26991f69e on 2019-02-08 01:11:54 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

the baserev chain may not be linear

7:06249f11a8d0 on 2019-02-07 22:37:02 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

copyright and readme

6:6b1e71231fa4 on 2019-02-07 22:05:45 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

allow closing a repo

5:4415a011eca5 on 2019-02-07 21:58:39 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

sometimes the baserev isn't the baserev...

4:f997fd5879e9 on 2019-02-07 21:25:12 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

support name args for files

3:cf75d73bc9eb on 2019-02-07 20:23:45 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

smooth some delta operations

2:5e151596ccb6 on 2019-02-07 20:20:34 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

make a repo object instead of global

1:a4d556f33a6b on 2019-02-07 20:00:05 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

quick conversion to package and main

0:72632148c6cd on 2019-02-07 19:11:30 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

good enough revision control.
good enough to run a few commands anyway.