git-scripts.git
2 weeks agoAdd git-submodules-add master
Oleg Broytman [Fri, 7 Jun 2019 09:49:46 +0000 (12:49 +0300)]
Add git-submodules-add

Run `git submodule add` on submodules in `.gitmodules`
if said `.gitmodules` has been simply copied into the project.

3 weeks agoFix(set-commit-date-repos): Remove excessive apostrophe
Oleg Broytman [Fri, 31 May 2019 15:57:50 +0000 (18:57 +0300)]
Fix(set-commit-date-repos): Remove excessive apostrophe

3 months agoFeat(git-open): Replace scp URLs with https
Oleg Broytman [Thu, 14 Mar 2019 15:08:44 +0000 (18:08 +0300)]
Feat(git-open): Replace scp URLs with https

3 months agoFeat(get-authors): Add an alternative implementation
Oleg Broytman [Tue, 12 Mar 2019 15:46:32 +0000 (18:46 +0300)]
Feat(get-authors): Add an alternative implementation

3 months agoFix: Remove excessive redirection and exit code check
Oleg Broytman [Fri, 1 Mar 2019 22:50:34 +0000 (01:50 +0300)]
Fix: Remove excessive redirection and exit code check

3 months agoFix(ls-no-description): Print cwd (`$g` can be just '.')
Oleg Broytman [Thu, 28 Feb 2019 16:34:47 +0000 (19:34 +0300)]
Fix(ls-no-description): Print cwd (`$g` can be just '.')

3 months agoRefactoring: Factor out run-repos and run-workdirs
Oleg Broytman [Thu, 28 Feb 2019 12:56:47 +0000 (15:56 +0300)]
Refactoring: Factor out run-repos and run-workdirs

3 months agoRemove excessive `echo`; simplify long commands
Oleg Broytman [Thu, 28 Feb 2019 12:27:57 +0000 (15:27 +0300)]
Remove excessive `echo`; simplify long commands

3 months agoFeat: Split scripts into 3: run in one repo, recursive, in all
Oleg Broytman [Thu, 28 Feb 2019 00:53:03 +0000 (03:53 +0300)]
Feat: Split scripts into 3: run in one repo, recursive, in all

3 months agoRefactor: Factor out run-recursive
Oleg Broytman [Wed, 27 Feb 2019 23:24:11 +0000 (02:24 +0300)]
Refactor: Factor out run-recursive

5 months agoAdd scripts to run fsck of all repositories
Oleg Broytman [Fri, 18 Jan 2019 03:12:29 +0000 (06:12 +0300)]
Add scripts to run fsck of all repositories

5 months agoRename all-status -> status-all
Oleg Broytman [Fri, 18 Jan 2019 03:12:06 +0000 (06:12 +0300)]
Rename all-status -> status-all

6 months agoFeat(set-commit-date.py): chdir to git root
Oleg Broytman [Tue, 27 Nov 2018 19:27:09 +0000 (22:27 +0300)]
Feat(set-commit-date.py): chdir to git root

Necessary because `git --log --name-only` produces paths relative to
the root.

8 months agoAdd post-update to update git-scripts after pushing to git-scripts.git
Oleg Broytman [Fri, 28 Sep 2018 15:05:54 +0000 (18:05 +0300)]
Add post-update to update git-scripts after pushing to git-scripts.git

10 months agoI stopped using `git-remote-hg`
Oleg Broytman [Tue, 21 Aug 2018 06:24:05 +0000 (09:24 +0300)]
I stopped using `git-remote-hg`

All repositories migrated long ago.

13 months agoRefactor(set-commit-date.py): Use git_log.stdout as an iterator
Oleg Broytman [Fri, 27 Apr 2018 21:41:01 +0000 (00:41 +0300)]
Refactor(set-commit-date.py): Use git_log.stdout as an iterator

13 months agoFeat: Run set-commit-date-recursive on clone/fork
Oleg Broytman [Thu, 26 Apr 2018 23:44:33 +0000 (02:44 +0300)]
Feat: Run set-commit-date-recursive on clone/fork

14 months agoFeat(git-status.sh): Use `git rev-parse` to find git dir
Oleg Broytman [Fri, 13 Apr 2018 16:37:27 +0000 (19:37 +0300)]
Feat(git-status.sh): Use `git rev-parse` to find git dir

15 months agoFeat: Limit memory for gc/repack
Oleg Broytman [Thu, 15 Mar 2018 02:27:52 +0000 (05:27 +0300)]
Feat: Limit memory for gc/repack

Add a script to set config to limit memory for gc/repack
to avoid out of memory errors.

15 months agoFix: No need to run `git repack`
Oleg Broytman [Thu, 15 Mar 2018 02:20:56 +0000 (05:20 +0300)]
Fix: No need to run `git repack`

`git gc --aggressive` runs `git repack` -A -d -l -f.

15 months agoFix(.gitignore): locate-all.list can only be in the root
Oleg Broytman [Tue, 13 Mar 2018 22:41:07 +0000 (01:41 +0300)]
Fix(.gitignore): locate-all.list can only be in the root

15 months agoFeat(ls-assumed): Recognize files with skip-worktree bit
Oleg Broytman [Fri, 9 Mar 2018 22:07:28 +0000 (01:07 +0300)]
Feat(ls-assumed): Recognize files with skip-worktree bit

Recognize files with `git update-index --skip-worktree`
in addition to `--assume-unchanged`.

15 months agoFeat: Script to fix .git/config executable bits
Oleg Broytman [Fri, 2 Mar 2018 07:59:04 +0000 (10:59 +0300)]
Feat: Script to fix .git/config executable bits

15 months agoFeat: Add a script to update .git/hooks/*.sample
Oleg Broytman [Fri, 2 Mar 2018 07:58:15 +0000 (10:58 +0300)]
Feat: Add a script to update .git/hooks/*.sample

15 months agoFix: Run chmod only after clone
Oleg Broytman [Fri, 2 Mar 2018 07:53:32 +0000 (10:53 +0300)]
Fix: Run chmod only after clone

15 months agoFeat(submodule): Test .gitmodules before running `git submodule`
Oleg Broytman [Mon, 26 Feb 2018 19:48:29 +0000 (22:48 +0300)]
Feat(submodule): Test .gitmodules  before running `git submodule`

15 months agoFeat(status): Copy index and set GIT_INDEX_FILE to avoid touching .git
Oleg Broytman [Mon, 26 Feb 2018 19:05:00 +0000 (22:05 +0300)]
Feat(status): Copy index and set GIT_INDEX_FILE to avoid touching .git

16 months agoAdd gc-expire scripts
Oleg Broytman [Sat, 3 Feb 2018 03:30:05 +0000 (06:30 +0300)]
Add gc-expire scripts

16 months agoRename gc-and-repack -> gc-repack
Oleg Broytman [Sat, 3 Feb 2018 03:26:44 +0000 (06:26 +0300)]
Rename gc-and-repack -> gc-repack

18 months agoFeat: Split git-open into git-open-remote
Oleg Broytman [Wed, 13 Dec 2017 19:35:17 +0000 (22:35 +0300)]
Feat: Split git-open into git-open-remote

git-open can now open any config key.
git-open-remote opens remotes URLs.

18 months agoFeat(locate-all): Case-sensitive sort
Oleg Broytman [Wed, 13 Dec 2017 12:15:32 +0000 (15:15 +0300)]
Feat(locate-all): Case-sensitive sort

19 months agoFix(fork): Add remote origin if it doesn't exist in an existing repo
Oleg Broytman [Fri, 27 Oct 2017 00:50:13 +0000 (03:50 +0300)]
Fix(fork): Add remote origin if it doesn't exist in an existing repo

19 months agoFix(fork): Do not add the existing repo to locate-all.list
Oleg Broytman [Fri, 27 Oct 2017 00:48:17 +0000 (03:48 +0300)]
Fix(fork): Do not add the existing repo to locate-all.list

20 months agoFeat: Add `clone` script
Oleg Broytman [Wed, 11 Oct 2017 21:56:56 +0000 (00:56 +0300)]
Feat: Add `clone` script

20 months agoFeat(fork): Check .git in the current directory
Oleg Broytman [Wed, 11 Oct 2017 21:47:50 +0000 (00:47 +0300)]
Feat(fork): Check .git in the current directory

22 months agoFeat(git-open): Get remote from the current branch
Oleg Broytman [Sun, 20 Aug 2017 21:01:32 +0000 (00:01 +0300)]
Feat(git-open): Get remote from the current branch

22 months agoMerge fork-existing into fork
Oleg Broytman [Sat, 19 Aug 2017 19:08:33 +0000 (22:08 +0300)]
Merge fork-existing into fork

2 years agoAdd fork-existing
Oleg Broytman [Tue, 30 May 2017 14:23:23 +0000 (17:23 +0300)]
Add fork-existing

2 years agoRemove scripts for manipulating projects
Oleg Broytman [Sat, 29 Apr 2017 22:26:33 +0000 (01:26 +0300)]
Remove scripts for manipulating projects

Moved to cookiecutter repo.

2 years agoRename update -> update-remotes
Oleg Broytman [Mon, 17 Apr 2017 19:57:15 +0000 (22:57 +0300)]
Rename update -> update-remotes

2 years agoFix publish2web: put the real web directory to locate-all.list
Oleg Broytman [Sat, 15 Apr 2017 23:17:41 +0000 (02:17 +0300)]
Fix publish2web: put the real web directory to locate-all.list

`pwd` was ~/tmp there.

2 years agoAdd cloned repository to the list of repos to process
Oleg Broytman [Tue, 11 Apr 2017 20:16:47 +0000 (23:16 +0300)]
Add cloned repository to the list of repos to process

2 years agoAdapt set-commit-date.py to Python 3: turn on universal_newlines
Oleg Broytman [Sun, 9 Apr 2017 01:21:40 +0000 (04:21 +0300)]
Adapt set-commit-date.py to Python 3: turn on universal_newlines

2 years agoUse `git branch --verbose` instead of `git status --branch`
Oleg Broytman [Sun, 19 Mar 2017 18:44:14 +0000 (21:44 +0300)]
Use `git branch --verbose` instead of `git status --branch`

Remove ls-not-pushed-carefully - it's no longer needed
as ls-not-pushed doesn't call `git status` anymore.

2 years agoIgnore archive/cheetah3 - it's a mirror of current/cheetah3
Oleg Broytman [Thu, 16 Mar 2017 23:28:40 +0000 (02:28 +0300)]
Ignore archive/cheetah3 - it's a mirror of current/cheetah3

2 years agoFix recursive gc/repack/fsck
Oleg Broytman [Sat, 11 Mar 2017 19:03:36 +0000 (22:03 +0300)]
Fix recursive gc/repack/fsck

2 years agoTest dirty status or not pushed state
Oleg Broytman [Mon, 9 Jan 2017 17:06:51 +0000 (20:06 +0300)]
Test dirty status or not pushed state

2 years agoTest status only in repos with worktrees
Oleg Broytman [Mon, 9 Jan 2017 17:03:34 +0000 (20:03 +0300)]
Test status only in repos with worktrees

2 years agoFix base directory name: do not remove .git suffix
Oleg Broytman [Mon, 9 Jan 2017 16:57:39 +0000 (19:57 +0300)]
Fix base directory name: do not remove .git suffix

2 years agoTest grep error code, not output
Oleg Broytman [Mon, 9 Jan 2017 16:31:10 +0000 (19:31 +0300)]
Test grep error code, not output

2 years agoAdd `fork` script to setup upstream and origin remotes
Oleg Broytman [Tue, 20 Dec 2016 19:15:11 +0000 (22:15 +0300)]
Add `fork` script to setup upstream and origin remotes

2 years agoUse xargs -I%
Oleg Broytman [Fri, 16 Dec 2016 18:36:04 +0000 (21:36 +0300)]
Use xargs -I%

2 years agoRename source -> upstream
Oleg Broytman [Sun, 11 Dec 2016 13:06:04 +0000 (16:06 +0300)]
Rename source -> upstream

2 years agoDo not pack submodules in bare repos
Oleg Broytman [Fri, 11 Nov 2016 15:00:49 +0000 (18:00 +0300)]
Do not pack submodules in bare repos

2 years agoAdd a script to list repos with assumed unchanged files
Oleg Broytman [Wed, 9 Nov 2016 17:11:19 +0000 (20:11 +0300)]
Add a script to list repos with assumed unchanged files

2 years agoRun git gc/repack/fsck recursively (on submodules)
Oleg Broytman [Sun, 6 Nov 2016 13:03:21 +0000 (16:03 +0300)]
Run git gc/repack/fsck recursively (on submodules)

2 years agoUse `git count-objects` instead of `find`
Oleg Broytman [Sun, 6 Nov 2016 11:47:46 +0000 (14:47 +0300)]
Use `git count-objects` instead of `find`

Count loose objects in submodules.

2 years agopull-usrlocalsrc: pull from source, push to origin
Oleg Broytman [Wed, 2 Nov 2016 19:53:04 +0000 (22:53 +0300)]
pull-usrlocalsrc: pull from source, push to origin

2 years agopull-usrlocalsrc: add git-remote-hg to PATH
Oleg Broytman [Wed, 2 Nov 2016 19:52:23 +0000 (22:52 +0300)]
pull-usrlocalsrc: add git-remote-hg to PATH

2 years agoAdd all-status all-status-carefully
Oleg Broytman [Fri, 14 Oct 2016 22:15:22 +0000 (01:15 +0300)]
Add all-status all-status-carefully

2 years agoCreate tmp dir in advance; set trap to remove it
Oleg Broytman [Fri, 14 Oct 2016 22:12:31 +0000 (01:12 +0300)]
Create tmp dir in advance; set trap to remove it

2 years agoFix `while read`; report non-existing directories
Oleg Broytman [Fri, 14 Oct 2016 22:11:22 +0000 (01:11 +0300)]
Fix `while read`; report non-existing directories

2 years agoMinor refactoring: first echo then slow rsync
Oleg Broytman [Fri, 14 Oct 2016 21:18:46 +0000 (00:18 +0300)]
Minor refactoring: first echo then slow rsync

Rename LSTMP -> STMP (it's not a tmp for ls).

2 years agopull-usrlocalsrc: pull only master from all remotes
Oleg Broytman [Fri, 7 Oct 2016 13:09:02 +0000 (16:09 +0300)]
pull-usrlocalsrc: pull only master from all remotes

2 years agoFix `while read`
Oleg Broytman [Fri, 7 Oct 2016 13:08:18 +0000 (16:08 +0300)]
Fix `while read`

2 years agoExclude .tox/ virtual environments when compiling byte code
Oleg Broytman [Sat, 24 Sep 2016 18:06:15 +0000 (21:06 +0300)]
Exclude .tox/ virtual environments when compiling byte code

2 years agoUse `git var GIT_EDITOR` to call editor
Oleg Broytman [Thu, 4 Aug 2016 23:44:29 +0000 (02:44 +0300)]
Use `git var GIT_EDITOR` to call editor

`git var GIT_EDITOR` is better than ${VISUAL:-${EDITOR:-vi}} because
it takes into account all variables: GIT_EDITOR, VISUAL and EDITOR,
and falls back to the platform's default.

2 years agoFix copy/paste bug
Oleg Broytman [Wed, 3 Aug 2016 12:29:25 +0000 (15:29 +0300)]
Fix copy/paste bug

2 years agoExclude empty "others" directories
Oleg Broytman [Wed, 3 Aug 2016 12:27:04 +0000 (15:27 +0300)]
Exclude empty "others" directories

2 years agoUse git status --branch --short
Oleg Broytman [Wed, 3 Aug 2016 12:18:48 +0000 (15:18 +0300)]
Use git status --branch --short

2 years agoUse new ls-dirty
Oleg Broytman [Wed, 3 Aug 2016 12:14:50 +0000 (15:14 +0300)]
Use new ls-dirty

This makes status-dirty-carefully much faster.

2 years agoUse git ls-files instead of status to avoid touching .git/
Oleg Broytman [Wed, 3 Aug 2016 12:14:10 +0000 (15:14 +0300)]
Use git ls-files instead of status to avoid touching .git/

2 years agoRename ls-dirty-carefully to ls-status-carefully
Oleg Broytman [Wed, 3 Aug 2016 12:12:36 +0000 (15:12 +0300)]
Rename ls-dirty-carefully to ls-status-carefully

Change variable $PROG_DIR => $prog_dir. Use long option.

2 years agoUse long option
Oleg Broytman [Wed, 3 Aug 2016 12:10:30 +0000 (15:10 +0300)]
Use long option

2 years agoChange local variable $PROG_DIR => $prog_dir
Oleg Broytman [Wed, 3 Aug 2016 12:09:39 +0000 (15:09 +0300)]
Change local variable $PROG_DIR => $prog_dir

2 years agoDo not show untracked files in git status
Oleg Broytman [Wed, 3 Aug 2016 12:06:10 +0000 (15:06 +0300)]
Do not show untracked files in git status

2 years agoList not pushed repositories carefully
Oleg Broytman [Tue, 2 Aug 2016 19:55:01 +0000 (22:55 +0300)]
List not pushed repositories carefully

Get status without touching the repo (by using a temporary copy).

2 years agoList repositories not pushed to origin
Oleg Broytman [Tue, 2 Aug 2016 19:55:01 +0000 (22:55 +0300)]
List repositories not pushed to origin

2 years agolocate-all: filter off excessive repos
Oleg Broytman [Mon, 25 Jul 2016 14:16:29 +0000 (17:16 +0300)]
locate-all: filter off excessive repos

2 years agoFix setting upstream branch
Oleg Broytman [Sat, 16 Jul 2016 23:36:17 +0000 (02:36 +0300)]
Fix setting upstream branch

git branch --set-upstream-to requires that remote-tracking branch
web/master already exists. Use git push -u instead.

2 years agoUse web.browser and browser.cmd from git config to get browser
Oleg Broytman [Thu, 7 Jul 2016 15:36:54 +0000 (18:36 +0300)]
Use web.browser and browser.cmd from git config to get browser

2 years agoAdd git-open - a script to open a remote's URL in a browser
Oleg Broytman [Thu, 7 Jul 2016 15:29:17 +0000 (18:29 +0300)]
Add git-open - a script to open a remote's URL in a browser

3 years agoAdd a script to list repos with stashed files
Oleg Broytman [Fri, 10 Jun 2016 12:02:55 +0000 (15:02 +0300)]
Add a script to list repos with stashed files

3 years agoChange output format
Oleg Broytman [Fri, 10 Jun 2016 11:59:28 +0000 (14:59 +0300)]
Change output format

Separators "-----" are required if there is repository-related output
after them, but do not required if the output is repo name only.

3 years agoSet upstream to web/master on publishing to web
Oleg Broytman [Sun, 5 Jun 2016 14:03:25 +0000 (17:03 +0300)]
Set upstream to web/master on publishing to web

3 years agoAdd scripts to list/show remotes
Oleg Broytman [Sun, 5 Jun 2016 11:14:26 +0000 (14:14 +0300)]
Add scripts to list/show remotes

3 years agoAdd post-checkout hook that compiles python files
Oleg Broytman [Sun, 5 Jun 2016 11:13:39 +0000 (14:13 +0300)]
Add post-checkout hook that compiles python files

3 years agoAdd a script to list all branches in all repos
Oleg Broytman [Mon, 30 May 2016 04:17:57 +0000 (07:17 +0300)]
Add a script to list all branches in all repos

3 years agoMinor refactoring
Oleg Broytman [Thu, 26 May 2016 07:57:32 +0000 (10:57 +0300)]
Minor refactoring

3 years agoRefine error messages
Oleg Broytman [Thu, 26 May 2016 07:56:46 +0000 (10:56 +0300)]
Refine error messages

3 years agoList repositories with "Unnamed" description and edit their descriptions
Oleg Broytman [Fri, 15 Apr 2016 15:20:20 +0000 (18:20 +0300)]
List repositories with "Unnamed" description and edit their descriptions

3 years agoMinor refactoring
Oleg Broytman [Tue, 12 Apr 2016 10:42:12 +0000 (13:42 +0300)]
Minor refactoring

3 years agoFix: delete old files
Oleg Broytman [Sun, 10 Apr 2016 03:58:41 +0000 (06:58 +0300)]
Fix: delete old files

3 years agoBetter comments
Oleg Broytman [Wed, 30 Mar 2016 22:01:27 +0000 (01:01 +0300)]
Better comments

3 years agoAdd set-commit-date-not-packed
Oleg Broytman [Wed, 30 Mar 2016 21:56:55 +0000 (00:56 +0300)]
Add set-commit-date-not-packed

Call set-commit-date-recursive on all not-packed repositories.

3 years agoAdd set-commit-date.py
Oleg Broytman [Sun, 20 Mar 2016 16:42:46 +0000 (19:42 +0300)]
Add set-commit-date.py

Find commit date/time for every commit, list files in the commit
and set the file's modification time to the date/time of the latest commit.

This is much faster than set-commit-date for big repositories.

3 years agoset-commit-date-repos: fix docstring
Oleg Broytman [Sun, 20 Mar 2016 16:41:05 +0000 (19:41 +0300)]
set-commit-date-repos: fix docstring

3 years agoSplit set-commit-date-repos into set-commit-date-recursive
Oleg Broytman [Wed, 24 Feb 2016 19:37:13 +0000 (22:37 +0300)]
Split set-commit-date-repos into set-commit-date-recursive

3 years agoAdd post-merge and post-rewrite hooks
Oleg Broytman [Tue, 9 Feb 2016 18:48:15 +0000 (21:48 +0300)]
Add post-merge and post-rewrite hooks

These hooks compile python files to byte code.

3 years agoCarefully list dirty repos and show their status
Oleg Broytman [Wed, 27 Jan 2016 21:53:48 +0000 (00:53 +0300)]
Carefully list dirty repos and show their status

Copy every repo to a temp directory; this is very slow but prevents
``git status`` from touching real files.