pgit.sh is not indispensable for building a projects directory, but
it is necessary for some convenience targets in projects-dir.mk.
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit removes everything not strictly necessary for running
"make clean all" inside jw-build.
packaging jw-devtest. This cuts the repo down from 24077 to 4725
lines of code.
The idea is to
1) Further remove bloat from the remaining bits
2) Re-add what's necessary to build and package other essential repos.
The decision should be based on whether or not jw-build can also be
useful in a non-janware context.
Signed-off-by: Jan Lindemann <jan@janware.com>
This adds support for the variable OFFLINE_PROJECTS in projects-dir.mk and the
PGIT_IGNORE environment variable. Both go hand in hand and do what their names
insinuate. OFFLINE_PROJECTS is initialized from EXCLUDE_FROM_BUILD, which in
turn is initialized from exclude.txt and friends.
Signed-off-by: Jan Lindemann <jan@janware.com>
PGIT_CLONE_CLONE_FROM_USER now supports optional suffixes of the form
[:src-ref[:dst-ref]]. If present, src-ref specifies the remote branch pgit.sh
tries to fetch, and dst-ref the local branch it tries to fetch into. src-ref
defaults to "master" (as it was before) and dst-ref to nothing, i.e. no
head-update of any local branch.
Signed-off-by: Jan Lindemann <jan@janware.com>
git pull, push, fetch use --recurse-submodules, which is non-optional for push.
Added --recurse-submodules=on-demand to all for consistency.
Signed-off-by: Jan Lindemann <jan@janware.com>
Sadly, a commit returns 1 if there's nothing to commit, which makes pgit.sh
error out of the project loop, which is run with set -e. This option disables
-e.
OTOH, pgit.sh commit could check for a diff and only run git commit if there is
a diff.
Signed-off-by: Jan Lindemann <jan@janware.com>
The diff source and destination in diff used to be a/path/to/file.txt and
b/path/to/file.txt which differed from cvs diff -u. Changed that, now make diff
in the toplevel directory creates usable patches for all sources.
Signed-off-by: Jan Lindemann <jan@janware.com>
Problem is, the OS cvs package sets the environment variable to "ssh"
in a profile script. Overriding this to speed things up.
Signed-off-by: Jan Lindemann <jan@janware.com>
This project was copied from ytools, with anything not related to providing
build-functionality left out. This commit replaces the occurences of ytools
with jw-build, and removes some but most certainly not all legacy ytools
references.
Signed-off-by: Jan Lindemann <jan@janware.com>
- Run git submodule init / update also if project existed
- After newly fetching from others:
- Git branch --set-upstream-to origin/master
- Git push
Signed-off-by: Jan Lindemann <jan@janware.com>
pgit.sh clone does not error out in clone if git-srv-admin.sh
list-personal-projects reports an error, fix that.
Signed-off-by: Jan Lindemann <jan@janware.com>