Commits
- Commit:
118a625d39930284f891ea1285efc17fb3848cae
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
got: further fetch tweaks to prevent unintended fetches
Implement stsp's suggestion to only fetch remote's HEAD if the symref
refs/remote/*/HEAD exists, and its target no longer matches the remote
HEAD. This ensures users tracking a project won't miss a change in HEAD,
while also fixing the issue reported by naddy where HEAD was fetched by
default even though a specific, potentially less active, branch is cloned,
resulting in a repository with more commits than necessary.
In addition, unless 'got fetch -b <branch>' is used, the remote HEAD branch
will be fetched if branches are not set in got.conf and there is no work
tree to ascertain a branch, or said branches are not found on the server.
ok stsp@
- Commit:
4bff57b4b66990d6829cb83645d1f1d478ae0cea
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
backout got: always fetch remote HEAD except when -b is used
As pointed out by naddy, this behaviour is not ideal when users
want to limit their repository to a particular branch which will
diverge from HEAD over time, such as -stable branches.
See https://marc.gameoftrees.org/mail/1676388048.8632_0.html
- Commit:
2a19e2e21a876bbc4ae1999ca08ce4c8f2002158
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
got: always fetch remote HEAD except when -b is used
Rather than only fetch HEAD when there are no branches set in got.conf and
there is no branch to be inferred from a work tree, or said branches don't
exist on the server, always fetch HEAD unless 'got fetch -b branch' is used.
ok stsp@
- Commit:
f72ce919dd6d6c15679c5174c47912ac55be1e18
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Mark Jamsek <mark@jamsek.dev>
- Date:
make 'got fetch -b branch' error reporting more helpful
The patch to got-fetch-pack.c was written by stsp with only minor tweaks
by me. Regress updated to account for the change in reporting.
stsp's original got-fetch-pack.c diff ok op jamsek
ok stsp@
- Commit:
0dd7613ce65424868ec86f0623e38eb70d9a9321
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
special case 'got fetch -b <branch>' to only fetch <branch>
As discussed on irc, this drops the implicit remote HEAD fetch when -b is used.
got.1 has been updated to make the new fetch behaviour clear.
ok stsp@
- Commit:
ec218e165dfd906f44ad491671127ca4b6979ed0
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
got: use intermediate pointers to plug leak on realloc
And save worktree_branch_len for reuse.
ok stsp@ and op@
- Commit:
188f8dcf2c1c15bf37859e3b587bc6331fd5a097
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix interaction of 'got fetch -b', got.conf, and work tree
Without branches in got.conf for a remote, and without -b/-R options,
the fallback to HEAD would only work when not invoked in a work tree.
With this fix 'got fetch' should behave as described in the man page.
The -b option now overrides both got.conf and the fallback to the work
tree's branch.
And fallback to HEAD works as expected when invoked in a repository.
Also, do not strictly require remote repositories to provide a branch
from the refs/heads/ namespace. In such cases users should be able to
use -R to select something to fetch.
ok jamsek
- Commit:
0701e66c20d0558f1f7c72d7fb700be6fe376d3f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_fetch_ref: use struct instead of buffer for id
ok stsp@
- Commit:
4b4da3bbc7a791ba0d7d9d369dfe1e7b65f7eed4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_fetch_have_ref: use struct instead of buffer for id
ok stsp@
- Commit:
00b3e9ae14f04a45f1ca7445bade6b41a6e8a1c5
- From:
- Omar Polo <op@omarpolo.com>
- Date:
replace malloc+memcpy with strndup. no functional change intended
ok stsp@
- Commit:
d8bacb933720b8819f0c4e76b004775aa1885b9b
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
got: minor refactor of got_pathlist_free() API
Accept flag parameter to optionally specify which pointers to free. This saves
callers looping through the list to free pointers.
ok + fix stsp@
- Commit:
9114dd430297e408815019c3bc1df29ba10a9fb8
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
fix uninitialised fildes variables in libexec helpers
Reviewed and uncovered as part of the diff in the forthcoming commit
(pathlist API refactor).
ok stsp@
- Commit:
99fd9ff4bf6d3bee4a29f13ef4ae81aa36fdd4d5
- From:
- Omar Polo <op@omarpolo.com>
- Date:
always cast ctype' is*() arguments to unsigned char
ok stsp@
- Commit:
c9f1ac46710e3ac672c769862ae51b838c3c8e46
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'got clone -b' work for repositories which lack a HEAD reference
ok op@
- Commit:
74737945d01fa40a64535be8018c8dc44859b524
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
avoid looping over SHA1Update() in got-fetch-pack; suggested by millert@
- Commit:
dd4ea8bd9bd04c88bb85c1b7f67a7f7b3e43b94e
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
got-fetch-pack: fix wrong memmove length leading to dubious checksum failures
ok millert tracey
- Commit:
5e91dae4dd43b8024731223110ab18f505f453ac
- From:
- Josiah Frentsos <jfrent@tilde.team>
- Via:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove trailing whitespace; patch by Josiah Frentsos
- Commit:
438d0cc30baf8e97fd870f5e620833e0a45401aa
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix snprintf error handling
follow the "proper secure idiom" described in the CAVEATS section of
printf(3). reminded by tb@ and millert@
- Commit:
ea8d9c76cc8fdc1dacfcc1cb952769fcd0930b10
- From:
- Omar Polo <op@omarpolo.com>
- Date:
convert two snprintf to strlcpy
"looks good to me" millert@
- Commit:
1453347d2463ce1b2700dd9fa810f30f2a443e5e
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
imsg_add() frees its msg argument on error; avoid double-free in error paths
- Commit:
dcb64fea5fbc0fb5f5cd1947bef3b5d09e266a79
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
apply time-based rate-limiting to got-fetch-pack download progress output
- Commit:
e99d9267c8cc287a60f768d4282c01b9f5f6c975
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
plug memory leaks in got-fetch-pack and got-send-pack
ok naddy
- Commit:
dd088d9503d8e7cebbb30c535d8e4d11556c8d30
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
let 'got fetch' send all references to the server to avoid redundant downloads
Problem reported by naddy.
ok naddy
- Commit:
030daac821622c8495676bc5210fb7784c7ae78f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix some integers that had a slightly wrong type; patch by Omar Polo
- Commit:
77d7d3bb1aabafae6c020c8a07a6e9f4f7885c9b
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
de-duplicate a constant used by both 'got fetch' and 'got send'
Both GOT_FETCH_PKTMAX and GOT_SEND_PKTMAX had the same value.
Declare this value as GOT_PKT_MAX in got_lib_pkt.h instead.