On 8/11/21 4:22 PM, Michael Van Canneyt via fpc-pascal wrote:
On Wed, 11 Aug 2021, Bo Berglund via fpc-pascal wrote:
echo "Downloading version $FPCVER of FPC"
cd "$FPCDIR"
svn co https://svn.freepascal.org/svn/fpc/tags/$FPCTAG/ $FPCVER

# Get sources
git clone https://gitlab.com/freepascal.org/fpc/source.git  $FPCVER
# switch to branch/tag
cd $FPCVER
git checkout $FPCTAG
cd ..

FWIW: remember that "clone" is _only for the first time_, too... after that you would "fetch" and/or "pull" to bring in the changes...

to clarify:
"fetch" tells your local git to retrieve the latest meta-data info from the original repo but it doesn’t do any file transfers...

"pull" tells your local git to retrieve the latest meta-data info and to also do the actual transfers and apply them to your clone...


i use a bash script that contains the following routine which does the main work of *updating* my local repos... selection of the repo and changing into its directory are done outside this fairly generic routine...

----->8 snip 8<-----
function _gitUpdate(){
  if [ "$DOWNLOAD" != "y" ]; then
    return
  fi

  local branch="$1"
  set +e
  git diff --exit-code 2>&1 > /dev/null
  if [[ $? != 1 ]]; then
    set -e
    git fetch origin
    git checkout --force "$branch"
    git pull --rebase
  else
    set -e
    git fetch origin
    git stash save --include-untracked --quiet
    git checkout --force "$branch"
    git pull --rebase
    git stash pop --quiet
  fi
}
----->8 snip 8<-----

this routine checks if there have been upstream updates... if you have any local changes, they will be stashed first, then the upstream updates will be pulled after which your stash will be applied so your local changes are available... if you have no local changes, then no stashing and popping are involved...

if there is a conflict when popping, it requires fairly standard conflict resolution and cleanup... i'll leave that to the reader to follow up and understand...

hopefully this helps and doesn't add to the confusion...

--
 NOTE: No off-list assistance is given without prior approval.
       *Please keep mailing list traffic on the list where it belongs!*
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to