Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update upstream #3

Open
wants to merge 150 commits into
base: master
Choose a base branch
from
Open

Conversation

aryelgois
Copy link

Add new commits to http://myrepos.branchable.com/

pabs3 and others added 30 commits February 23, 2018 09:20
This will be needed for the cache-mr-status.sh shell extension.
This will be needed for the cache-mr-status.sh shell extension.
Subdir output is often different to top-level output so some situations
may require the output from the top level of the repository.

This will be needed for the cache-mr-status.sh shell extension.
Cache each action and hook in separate directories so
that there is no confusion between them.

Use the full repo path as the basis of the cache path so
that it is simpler to calculate the location of the repo
based on the cache path.

This will be needed for the cache-mr-status.sh shell extension.
This will be needed by users of the cache-mr-status.sh shell extension.
The output of some repo commands is often different in subdirectories so
storing it in the cache would populate it with incorrect information.

The --top option should be used in subdirs of a repo to change dir to
the top of the repo and then update the cache.

This will be needed for the cache-mr-status.sh shell extension.
They are optimised away by runsh so they are not useful to cache.
The cached output will probably be printed on a terminal later and
the output for files, pipes and terminals will probably be the same
after stripping ANSI escape codes and caching both types of outputs
could be too expensive and complicated.

Strip ANSI escape codes when printing output to pipes or files.

This will be needed by users of the cache-mr-status.sh shell extension.

Regular-expressions-by: Adam Borowski <kilobyte@angband.pl>
… cache

This is most useful when there are a lot of repositories and the output
of `mr status` is accessed more often than the majority of the
repositories are changed.

When comparing daily diffs of the `mr --minimal status` output of a lot of
repositories, this should reduce the CPU and I/O usage and run-time a lot.

Input-from: martin f krafft <madduck@debian.org> (re $PWD & zsh)
Will be used by the Debian upstream meta-data.
The existing form removes directory names from the output.

The new form shows something more like what git status shows.

Fixes: https://myrepos.branchable.com/todo/CVS_status_shortened_too_much/
Fixes: Use of uninitialized value in concatenation (.) or string at mr line 1752.
The $remote variable is set on the previous line but
the $origin variable is not set on any line.

Fixes: commit 0ef9c8a
…ection

Use the same command prefixes as the remote URL detection.

Use --get for consistency with the remote URL detection.

Hide error messages from users since they are handled.

Prevent trying to use HEAD as the branch name after errors since
HEAD never has a remote. This allows registration of repositories
that have checked out a commit instead of a branch.

Fixes: commit 0ef9c8a
…ectly

Use the correct path to the .gitcvsrc file.

Read the .gitcvsrc file instead of executing it.

Check the variables were read before registering a repository.

Create the directory before using `git cvs`.

Pass the correct variables to the configuration command.

Fixes: commit 13c32f72f729aebbebf7dc1a8b20df811baf561a
Also drop the int calls due to >= comparing values numerically.

Fixes: commit 40a3df2
Suggested-by: Jakub Wilk <jwilk@jwilk.net>
Suggested-in: <20180224174636.44bootspe673befx@jwilk.net>
mr: ambiguous action "up" (matches: upgrade, update)
Looks strange when there are warnings.

Has no effect on the code flow.
Fixes an error when removing the cache twice in a row:

$ mr --uncache status
mr status: /home/pabs/path/to/repo

mr status: finished (1 ok)
$ mr --uncache status
mr status: /home/pabs/path/to/repo
rmdir: failed to remove '/home/pabs/.mrcache/status/home/pabs/path/to/repo': No such file or directory

mr status: finished (1 ok)
Fixes warnings when printing cache that does not yet exist:

$ mr --cached status
readline() on closed filehandle $ret_fh at mr line 956.
readline() on closed filehandle $output_fh at mr line 957.
Prevents warnings when printing the cache was requested
but the cache does not exist.
Fixes populating the cache when it does not exist but printing the
cache was requested, since printing will fail and then the failure
will cascade into reopening the cache read-write.
The documentation and examples encourage people to include all mr extensions
using a wildcard and that will cause errors when they upgrade to a version of
mr that includes the cache extension, which uses shell syntax not mr syntax.

Append .sh to the dir name since that is the customary extension for shell.
  (eliminates 'no defined update command error')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants