Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
RFC: Remove vcs_info backends cdv, svk, tla? (was: Re: [PATCH v5] vcs_info: choose backend by basedir)
- X-seq: zsh-workers 49604
- From: Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx>
- To: Aleksandr Mezin <mezin.alexander@xxxxxxxxx>
- Cc: zsh-workers@xxxxxxx
- Subject: RFC: Remove vcs_info backends cdv, svk, tla? (was: Re: [PATCH v5] vcs_info: choose backend by basedir)
- Date: Fri, 26 Nov 2021 08:09:27 +0000
- Archived-at: <https://zsh.org/workers/49604>
- In-reply-to: <20210604061421.172899-1-mezin.alexander@gmail.com>
- List-id: <zsh-workers.zsh.org>
- References: <20210604061421.172899-1-mezin.alexander@gmail.com>
Aleksandr Mezin wrote on Fri, Jun 04, 2021 at 12:14:21 +0600:
> @@ -124,10 +129,59 @@ vcs_info () {
> vcs_comm=()
> VCS_INFO_get_cmd
> - VCS_INFO_detect_${vcs} && (( found = 1 )) && break
> + if VCS_INFO_detect_${vcs}; then
> + # Most backends already set vcs_comm[basedir] to an absolute path
> + # with symlinks resolved:
> + #
> + # * Backends using VCS_INFO_bydir_detect:
> + # bzr, cdv, darcs, fossil, hg, mtn, p4, svn
> + #
> + # * cvs - custom logic, but uses :P too
> + #
> + # * git - $(git rev-parse --show-toplevel) resolves symlinks and
> + # returns an absolute path
> + #
> + # * for tla (GNU Arch) I can't find any online documentation or
> + # packages (seems to be dead)
> + #
There's https://savannah.gnu.org/projects/gnu-arch/. It says tla is
"decommissioned" and hasn't had a release in 16 years. There's also
<https://www.gnu.org/software/gnu-arch/>, but it doesn't alter the
bottom line.
> + # * svk doesn't use :P modifier and returns the path as is from
> + # the config file (as far as I understand)
> + #
Does anyone still use svk? It was a "distributed version control for
Subversion" thing (https://metacpan.org/dist/SVK), but:
- It hasn't had a release since 2010
- Its homepage redirects elsewhere
- Its repository is 404 Not Found
- I haven't seen any mention of it on svn's lists in years
- The list of features at the top of its man page seems to be mostly
features that git-svn and hgsubversion already take care of. "Working
copy without .svn" _might_ be an exception, if they mean no text
bases; but they could just mean "there's a single .${vcs} dir at the
top directory, rather than foo/bar/.${vcs} inside every versioned
foo/bar/ directory", in which case, that's not a selling point either
nowadays.
>
Looking at the other backends, cdv hasn't had a release in 16 years,
either. Every other backend seems to be active to one degree or
another.
> + # So I'm not sure whether to modify the backends or just resolve
> + # the path here to be sure. VCS_INFO_get_data_* usually reads
> + # vcs_comm[basedir] too. In particular, I'm not sure if it's safe to
> + # resolve symlinks in vcs_comm[basedir] for svk.
The cdv, svk, tla backends presumably have no remaining users; having
them at all imposes extra costs on people making «vcs_info»-wide changes;
and if we remove them, we can always recover them from history if they
turn out to have users after all.
So, shall we remove these three backends?
Cheers,
Daniel
> + # Because most backends already do :P substitution, I expect all
> + # the info needed to resolve the path to be cached in memory by the
> + # OS (so it shouldn't cause performance issues).
> + basedir_realpath="${vcs_comm[basedir]:P}"
Messages sorted by:
Reverse Date,
Date,
Thread,
Author