diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 944c2b6e3..f7fed92b5 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -8,7 +8,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/release-on-merge.yml b/.github/workflows/release-on-merge.yml index 23713e545..c0ece1877 100644 --- a/.github/workflows/release-on-merge.yml +++ b/.github/workflows/release-on-merge.yml @@ -8,7 +8,7 @@ jobs: release: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/C-git-commands.asc b/C-git-commands.asc index bd3dd1861..3e3523ef7 100644 --- a/C-git-commands.asc +++ b/C-git-commands.asc @@ -55,22 +55,22 @@ Accompanying the configuration instructions in <>, |Emacs |`git config --global core.editor emacs` |Gedit (Linux) |`git config --global core.editor "gedit --wait --new-window"` |Gvim (Windows 64-bit) |`git config --global core.editor "'C:\Program Files\Vim\vim72\gvim.exe' --nofork '%*'"` (Also see note below) -|Helix |`git config --global core.editor "helix"` -|Kate (Linux) |`git config --global core.editor "kate"` +|Helix |`git config --global core.editor "hx"` +|Kate (Linux) |`git config --global core.editor "kate --block"` |nano |`git config --global core.editor "nano -w"` |Notepad (Windows 64-bit) |`git config core.editor notepad` -|Notepad++ (Windows 64-bit) |`git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"` (Also see note below) +|Notepad++ (Windows 64-bit) |`git config --global core.editor "'C:\Program Files\Notepad+\+\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"` (Also see note below) |Scratch (Linux)|`git config --global core.editor "scratch-text-editor"` |Sublime Text (macOS) |`git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl --new-window --wait"` |Sublime Text (Windows 64-bit) |`git config --global core.editor "'C:\Program Files\Sublime Text 3\sublime_text.exe' -w"` (Also see note below) |TextEdit (macOS)|`git config --global core.editor "open --wait-apps --new -e"` |Textmate |`git config --global core.editor "mate -w"` -|Textpad (Windows 64-bit) |`git config --global core.editor "'C:\Program Files\TextPad 5\TextPad.exe' -m` (Also see note below) +|Textpad (Windows 64-bit) |`git config --global core.editor "'C:\Program Files\TextPad 5\TextPad.exe' -m"` (Also see note below) |UltraEdit (Windows 64-bit) | `git config --global core.editor Uedit32` |Vim |`git config --global core.editor "vim --nofork"` |Visual Studio Code |`git config --global core.editor "code --wait"` |VSCodium (Free/Libre Open Source Software Binaries of VSCode) | `git config --global core.editor "codium --wait"` -|WordPad |`git config --global core.editor '"C:\Program Files\Windows NT\Accessories\wordpad.exe"'"` +|WordPad |`git config --global core.editor "'C:\Program Files\Windows NT\Accessories\wordpad.exe'"` |Xi | `git config --global core.editor "xi --wait"` |============================== diff --git a/Gemfile b/Gemfile index a1a005139..0893f08a4 100644 --- a/Gemfile +++ b/Gemfile @@ -1,18 +1,18 @@ source 'https://rubygems.org' -gem 'rake', '13.0.6' -gem 'asciidoctor', '2.0.20' +gem 'rake', '13.2.1' +gem 'asciidoctor', '2.0.22' -gem 'json', '2.6.3' +gem 'json', '2.9.1' gem 'awesome_print', '1.9.2' gem 'asciidoctor-fb2', '0.7.0' -gem 'asciidoctor-epub3', '1.5.1' -gem 'asciidoctor-pdf', '2.3.7' +gem 'asciidoctor-epub3', '2.1.3' +gem 'asciidoctor-pdf', '2.3.17' gem 'coderay', '1.1.3' -gem 'pygments.rb', '2.4.0' +gem 'pygments.rb', '2.4.1' gem 'thread_safe', '0.3.6' -gem 'epubcheck-ruby', '5.0.0.0' -gem 'html-proofer', '5.0.7' +gem 'epubcheck-ruby', '5.2.0.0' +gem 'html-proofer', '5.0.9' gem 'kindlegen', '3.1.1' diff --git a/book/01-introduction/sections/about-version-control.asc b/book/01-introduction/sections/about-version-control.asc index 5db49fb18..182fcedc0 100644 --- a/book/01-introduction/sections/about-version-control.asc +++ b/book/01-introduction/sections/about-version-control.asc @@ -50,7 +50,7 @@ Local VCSs suffer from this same problem -- whenever you have the entire history (((version control,distributed))) This is where Distributed Version Control Systems (DVCSs) step in. -In a DVCS (such as Git, Mercurial, Bazaar or Darcs), clients don't just check out the latest snapshot of the files; rather, they fully mirror the repository, including its full history. +In a DVCS (such as Git, Mercurial or Darcs), clients don't just check out the latest snapshot of the files; rather, they fully mirror the repository, including its full history. Thus, if any server dies, and these systems were collaborating via that server, any of the client repositories can be copied back up to the server to restore it. Every clone is really a full backup of all the data. diff --git a/book/01-introduction/sections/first-time-setup.asc b/book/01-introduction/sections/first-time-setup.asc index 5d092ea60..10b7049ce 100644 --- a/book/01-introduction/sections/first-time-setup.asc +++ b/book/01-introduction/sections/first-time-setup.asc @@ -42,7 +42,7 @@ $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com ---- -Again, you need to do this only once if you pass the `--global` option, because then Git will always use that information for anything you do on that system. +Again, you need to do this only once if you pass the `--global` option, because then Git will always use that information for your user on that system. If you want to override this with a different name or email address for specific projects, you can run the command without the `--global` option when you're in that project. Many of the GUI tools will help you do this when you first run them. diff --git a/book/01-introduction/sections/what-is-git.asc b/book/01-introduction/sections/what-is-git.asc index 8953b9d48..466201b23 100644 --- a/book/01-introduction/sections/what-is-git.asc +++ b/book/01-introduction/sections/what-is-git.asc @@ -10,7 +10,7 @@ Even though Git's user interface is fairly similar to these other VCSs, Git stor The major difference between Git and any other VCS (Subversion and friends included) is the way Git thinks about its data. Conceptually, most other systems store information as a list of file-based changes. -These other systems (CVS, Subversion, Perforce, Bazaar, and so on) think of the information they store as a set of files and the changes made to each file over time (this is commonly described as _delta-based_ version control). +These other systems (CVS, Subversion, Perforce, and so on) think of the information they store as a set of files and the changes made to each file over time (this is commonly described as _delta-based_ version control). .Storing data as changes to a base version of each file image::images/deltas.png[Storing data as changes to a base version of each file] diff --git a/book/02-git-basics/sections/remotes.asc b/book/02-git-basics/sections/remotes.asc index 2deb8fba0..80e98250a 100644 --- a/book/02-git-basics/sections/remotes.asc +++ b/book/02-git-basics/sections/remotes.asc @@ -87,7 +87,7 @@ pb https://github.com/paulboone/ticgit (fetch) pb https://github.com/paulboone/ticgit (push) ---- -Now you can use the string `pb` on the command line in lieu of the whole URL. +Now you can use the string `pb` on the command line instead of the whole URL. For example, if you want to fetch all the information that Paul has but that you don't yet have in your repository, you can run `git fetch pb`: [source,console] diff --git a/book/03-git-branching/sections/remote-branches.asc b/book/03-git-branching/sections/remote-branches.asc index 723aa7b64..adbb8735d 100644 --- a/book/03-git-branching/sections/remote-branches.asc +++ b/book/03-git-branching/sections/remote-branches.asc @@ -217,8 +217,6 @@ It will simply get the data for you and let you merge it yourself. However, there is a command called `git pull` which is essentially a `git fetch` immediately followed by a `git merge` in most cases. If you have a tracking branch set up as demonstrated in the last section, either by explicitly setting it or by having it created for you by the `clone` or `checkout` commands, `git pull` will look up what server and branch your current branch is tracking, fetch from that server and then try to merge in that remote branch. -Generally it's better to simply use the `fetch` and `merge` commands explicitly as the magic of `git pull` can often be confusing. - [[_delete_branches]] ==== Deleting Remote Branches diff --git a/book/04-git-server/sections/gitlab.asc b/book/04-git-server/sections/gitlab.asc index 27148ccb8..97de78937 100644 --- a/book/04-git-server/sections/gitlab.asc +++ b/book/04-git-server/sections/gitlab.asc @@ -24,8 +24,9 @@ For more information read the https://gitlab.com/gitlab-org/gitlab-foss/-/blob/m ==== Administration GitLab's administration interface is accessed over the web. -Simply point your browser to the hostname or IP address where GitLab is installed, and log in as the admin user. -The default username is `admin@local.host`, and the default password is `5iveL!fe` (which you must change right away). +Simply point your browser to the hostname or IP address where GitLab is installed, and log in as the `root` user. +The password will depend on your installation type but by default, Omnibus GitLab automatically generates a password for and stores it to /etc/gitlab/initial_root_password for at least 24 hours. +Follow the documentation for more details. After you've logged in, click the "`Admin area`" icon in the menu at the top right. [[gitlab_menu]] diff --git a/book/07-git-tools/git-credential-read-only b/book/07-git-tools/git-credential-read-only index b98833c4e..9e984dca9 100755 --- a/book/07-git-tools/git-credential-read-only +++ b/book/07-git-tools/git-credential-read-only @@ -11,7 +11,7 @@ OptionParser.new do |opts| end.parse! exit(0) unless ARGV[0].downcase == 'get' # <2> -exit(0) unless File.exists? path +exit(0) unless File.exist? path known = {} # <3> while line = STDIN.gets diff --git a/book/07-git-tools/sections/debugging.asc b/book/07-git-tools/sections/debugging.asc index bc9d4cad8..dd615c1c7 100644 --- a/book/07-git-tools/sections/debugging.asc +++ b/book/07-git-tools/sections/debugging.asc @@ -111,7 +111,7 @@ Bisecting: 1 revisions left to test after this ---- This commit is fine, and now Git has all the information it needs to determine where the issue was introduced. -It tells you the SHA-1 of the first bad commit and show some of the commit information and which files were modified in that commit so you can figure out what happened that may have introduced this bug: +It tells you the SHA-1 of the first bad commit and shows some of the commit information and which files were modified in that commit so you can figure out what happened that may have introduced this bug: [source,console] ---- diff --git a/book/07-git-tools/sections/submodules.asc b/book/07-git-tools/sections/submodules.asc index 47096120a..188ff6408 100644 --- a/book/07-git-tools/sections/submodules.asc +++ b/book/07-git-tools/sections/submodules.asc @@ -166,7 +166,7 @@ $ ---- The `DbConnector` directory is there, but empty. -You must run two commands: `git submodule init` to initialize your local configuration file, and `git submodule update` to fetch all the data from that project and check out the appropriate commit listed in your superproject: +You must run two commands from the main project: `git submodule init` to initialize your local configuration file, and `git submodule update` to fetch all the data from that project and check out the appropriate commit listed in your superproject: [source,console] ---- @@ -466,7 +466,7 @@ You have to do some extra steps if you want changes in a submodule to be tracked In order to set up your submodule to be easier to go in and hack on, you need to do two things. You need to go into each submodule and check out a branch to work on. -Then you need to tell Git what to do if you have made changes and then `git submodule update --remote` pulls in new work from upstream. +Then you need to tell Git what to do if you have made changes and later `git submodule update --remote` pulls in new work from upstream. The options are that you can merge them into your local work, or you can try to rebase your local work on top of the new changes. First of all, let's go into our submodule directory and check out a branch. diff --git a/book/08-customizing-git/sections/config.asc b/book/08-customizing-git/sections/config.asc index 7d5262b7a..16739692f 100644 --- a/book/08-customizing-git/sections/config.asc +++ b/book/08-customizing-git/sections/config.asc @@ -129,7 +129,7 @@ You can set it to `more` or to your favorite pager (by default, it's `less`), or $ git config --global core.pager '' ---- -If you run that, Git will page the entire output of all commands, no matter how long they are. +If you run that, Git will print the entire output of all commands, no matter how long they are. ===== `user.signingkey` diff --git a/book/09-git-and-other-scms/sections/client-bzr.asc b/book/09-git-and-other-scms/sections/client-bzr.asc deleted file mode 100644 index 1194590cd..000000000 --- a/book/09-git-and-other-scms/sections/client-bzr.asc +++ /dev/null @@ -1,138 +0,0 @@ -==== Git and Bazaar - -Among the DVCS, another famous one is https://bazaar.canonical.com[Bazaar^]. -Bazaar is free and open source, and is part of the https://www.gnu.org[GNU Project^]. -It behaves very differently from Git. -Sometimes, to do the same thing as with Git, you have to use a different keyword, and some keywords that are common don't have the same meaning. -In particular, the branch management is very different and may cause confusion, especially when someone comes from Git's universe. -Nevertheless, it is possible to work on a Bazaar repository from a Git one. - -There are many projects that allow you to use Git as a Bazaar client. -Here we'll use Felipe Contreras' project that you may find at https://github.com/felipec/git-remote-bzr[^]. -To install it, you just have to download the file `git-remote-bzr` in a folder contained in your `$PATH`: - -[source,console] ----- -$ wget https://raw.github.com/felipec/git-remote-bzr/master/git-remote-bzr -O ~/bin/git-remote-bzr -$ chmod +x ~/bin/git-remote-bzr ----- - -You also need to have Bazaar installed. -That's all! - -===== Create a Git repository from a Bazaar repository - -It is simple to use. -It is enough to clone a Bazaar repository prefixing it by `bzr::`. -Since Git and Bazaar both do full clones to your machine, it's possible to attach a Git clone to your local Bazaar clone, but it isn't recommended. -It's much easier to attach your Git clone directly to the same place your Bazaar clone is attached to -- the central repository. - -Let's suppose that you worked with a remote repository which is at address `bzr+ssh://developer@mybazaarserver:myproject`. -Then you must clone it in the following way: - -[source,console] ----- -$ git clone bzr::bzr+ssh://developer@mybazaarserver:myproject myProject-Git -$ cd myProject-Git ----- - -At this point, your Git repository is created but it is not compacted for optimal disk use. -That's why you should also clean and compact your Git repository, especially if it is a big one: - -[source,console] ----- -$ git gc --aggressive ----- - -===== Bazaar branches - -Bazaar only allows you to clone branches, but a repository may contain several branches, and `git-remote-bzr` can clone both. -For example, to clone a branch: - -[source,console] ----- -$ git clone bzr::bzr://bzr.savannah.gnu.org/emacs/trunk emacs-trunk ----- - -And to clone the whole repository: - -[source,console] ----- -$ git clone bzr::bzr://bzr.savannah.gnu.org/emacs emacs ----- - -The second command clones all the branches contained in the emacs repository; nevertheless, it is possible to point out some branches: - -[source,console] ----- -$ git config remote-bzr.branches 'trunk, xwindow' ----- - -Some remote repositories don't allow you to list their branches, in which case you have to manually specify them, and even though you could specify the configuration in the cloning command, you may find this easier: - -[source,console] ----- -$ git init emacs -$ git remote add origin bzr::bzr://bzr.savannah.gnu.org/emacs -$ git config remote-bzr.branches 'trunk, xwindow' -$ git fetch ----- - -===== Ignore what is ignored with .bzrignore - -Since you are working on a project managed with Bazaar, you shouldn't create a `.gitignore` file because you _may_ accidentally set it under version control and the other people working with Bazaar would be disturbed. -The solution is to create the `.git/info/exclude` file either as a symbolic link or as a regular file. -We'll see later on how to solve this question. - -Bazaar uses the same model as Git to ignore files, but also has two features which don't have an equivalent into Git. -The complete description may be found in http://doc.bazaar.canonical.com/bzr.2.7/en/user-reference/ignore-help.html[the documentation^]. -The two features are: - -1. "!!" allows you to ignore certain file patterns even if they're specified using a "!" rule. -2. "RE:" at the beginning of a line allows you to specify a https://docs.python.org/3/library/re.html[Python regular expression^] (Git only allows shell globs). - -As a consequence, there are two different situations to consider: - -1. If the `.bzrignore` file does not contain any of these two specific prefixes, then you can simply make a symbolic link to it in the repository: `ln -s .bzrignore .git/info/exclude`. -2. Otherwise, you must create the `.git/info/exclude` file and adapt it to ignore exactly the same files in `.bzrignore`. - -Whatever the case is, you will have to remain vigilant against any change of `.bzrignore` to make sure that the `.git/info/exclude` file always reflects `.bzrignore`. -Indeed, if the `.bzrignore` file were to change and contained one or more lines starting with "!!" or "RE:", Git not being able to interpret these lines, you'll have to adapt your `.git/info/exclude` file to ignore the same files as the ones ignored with `.bzrignore`. -Moreover, if the `.git/info/exclude` file was a symbolic link, you'll have to first delete the symbolic link, copy `.bzrignore` to `.git/info/exclude` and then adapt the latter. -However, be careful with its creation because with Git it is impossible to re-include a file if a parent directory of that file is excluded. - -===== Fetch the changes of the remote repository - -To fetch the changes of the remote, you pull changes as usually, using Git commands. -Supposing that your changes are on the `master` branch, you merge or rebase your work on the `origin/master` branch: - -[source,console] ----- -$ git pull --rebase origin ----- - -===== Push your work on the remote repository - -Because Bazaar also has the concept of merge commits, there will be no problem if you push a merge commit. -So you can work on a branch, merge the changes into `master` and push your work. -Then, you create your branches, you test and commit your work as usual. -You finally push your work to the Bazaar repository: - -[source,console] ----- -$ git push origin master ----- - -===== Caveats - -Git's remote-helpers framework has some limitations that apply. -In particular, these commands don't work: - -* `git push origin :branch-to-delete` (Bazaar can't accept ref deletions in this way) -* `git push origin old:new` (it will push `old`) -* `git push --dry-run origin branch` (it will push) - -===== Summary - -Since Git's and Bazaar's models are similar, there isn't a lot of resistance when working across the boundary. -As long as you watch out for the limitations, and are always aware that the remote repository isn't natively Git, you'll be fine. diff --git a/book/09-git-and-other-scms/sections/client-svn.asc b/book/09-git-and-other-scms/sections/client-svn.asc index 502e49982..de330a1b2 100644 --- a/book/09-git-and-other-scms/sections/client-svn.asc +++ b/book/09-git-and-other-scms/sections/client-svn.asc @@ -158,7 +158,7 @@ c3dcbe8488c6240392e8a5d7553bbffcb0f94ef0 refs/remotes/origin/master 6dcb09b5b57875f334f61aebed695e2e4193db5e refs/tags/v1.0.0 ---- -Git fetches the tags directly into `refs/tags`, rather than treating them remote branches. +Git fetches the tags directly into `refs/tags`, rather than treating them as remote branches. ===== Committing Back to Subversion diff --git a/book/09-git-and-other-scms/sections/import-bzr.asc b/book/09-git-and-other-scms/sections/import-bzr.asc deleted file mode 100644 index 8c6a56fb0..000000000 --- a/book/09-git-and-other-scms/sections/import-bzr.asc +++ /dev/null @@ -1,157 +0,0 @@ -==== Bazaar - -(((Bazaar)))(((Importing, from Bazaar))) -Bazaar is a DVCS tool much like Git, and as a result it's pretty straightforward to convert a Bazaar repository into a Git one. -To accomplish this, you'll need to import the `bzr-fastimport` plugin. - -===== Getting the bzr-fastimport plugin - -The procedure for installing the fastimport plugin is different on UNIX-like operating systems and on Windows. -In the first case, the simplest is to install the `bzr-fastimport` package that will install all the required dependencies. - -For example, with Debian and derived, you would do the following: - -[source,console] ----- -$ sudo apt-get install bzr-fastimport ----- - -With RHEL, you would do the following: - -[source,console] ----- -$ sudo yum install bzr-fastimport ----- - -With Fedora, since release 22, the new package manager is dnf: - -[source,console] ----- -$ sudo dnf install bzr-fastimport ----- - -If the package is not available, you may install it as a plugin: - -[source,console] ----- -$ mkdir --parents ~/.bazaar/plugins # creates the necessary folders for the plugins -$ cd ~/.bazaar/plugins -$ bzr branch lp:bzr-fastimport fastimport # imports the fastimport plugin -$ cd fastimport -$ sudo python setup.py install --record=files.txt # installs the plugin ----- - -For this plugin to work, you'll also need the `fastimport` Python module. -You can check whether it is present or not and install it with the following commands: - -[source,console] ----- -$ python -c "import fastimport" -Traceback (most recent call last): - File "", line 1, in -ImportError: No module named fastimport -$ pip install fastimport ----- - -If it is not available, you can download it at address https://pypi.org/project/fastimport/[^]. - -In the second case (on Windows), `bzr-fastimport` is automatically installed with the standalone version and the default installation (let all the checkboxes checked). -So in this case you have nothing to do. - -At this point, the way to import a Bazaar repository differs according to that you have a single branch or you are working with a repository that has several branches. - -===== Project with a single branch - -Now `cd` in the directory that contains your Bazaar repository and initialize the Git repository: - -[source,console] ----- -$ cd /path/to/the/bzr/repository -$ git init ----- - -Now, you can simply export your Bazaar repository and convert it into a Git repository using the following command: - -[source,console] ----- -$ bzr fast-export --plain . | git fast-import ----- - -Depending on the size of the project, your Git repository is built in a lapse from a few seconds to a few minutes. - -===== Case of a project with a main branch and a working branch - -You can also import a Bazaar repository that contains branches. -Let us suppose that you have two branches: one represents the main branch (myProject.trunk), the other one is the working branch (myProject.work). - -[source,console] ----- -$ ls -myProject.trunk myProject.work ----- - -Create the Git repository and `cd` into it: - -[source,console] ----- -$ git init git-repo -$ cd git-repo ----- - -Pull the `master` branch into Git: - -[source,console] ----- -$ bzr fast-export --export-marks=../marks.bzr ../myProject.trunk | \ -git fast-import --export-marks=../marks.git ----- - -Pull the working branch into Git: - -[source,console] ----- -$ bzr fast-export --marks=../marks.bzr --git-branch=work ../myProject.work | \ -git fast-import --import-marks=../marks.git --export-marks=../marks.git ----- - -Now `git branch` shows you the `master` branch as well as the `work` branch. -Check the logs to make sure they're complete and get rid of the `marks.bzr` and `marks.git` files. - -===== Synchronizing the staging area - -Whatever the number of branches you had and the import method you used, your staging area is not synchronized with `HEAD`, and with the import of several branches, your working directory is not synchronized either. -This situation is easily solved by the following command: - -[source,console] ----- -$ git reset --hard HEAD ----- - -===== Ignoring the files that were ignored with .bzrignore - -Now let's have a look at the files to ignore. -The first thing to do is to rename `.bzrignore` into `.gitignore`. -If the `.bzrignore` file contains one or several lines starting with "!!" or "RE:", you'll have to modify it and perhaps create several `.gitignore` files in order to ignore exactly the same files that Bazaar was ignoring. - -Finally, you will have to create a commit that contains this modification for the migration: - -[source,console] ----- -$ git mv .bzrignore .gitignore -$ # modify .gitignore if needed -$ git commit -am 'Migration from Bazaar to Git' ----- - -===== Sending your repository to the server - -Here we are! -Now you can push the repository onto its new home server: - -[source,console] ----- -$ git remote add origin git@my-git-server:mygitrepository.git -$ git push origin --all -$ git push origin --tags ----- - -Your Git repository is ready to use. diff --git a/book/A-git-in-other-environments/sections/jetbrainsides.asc b/book/A-git-in-other-environments/sections/jetbrainsides.asc index b7d1f5b1b..1def4a3ed 100644 --- a/book/A-git-in-other-environments/sections/jetbrainsides.asc +++ b/book/A-git-in-other-environments/sections/jetbrainsides.asc @@ -1,5 +1,6 @@ === Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine +(((JetBrains))) JetBrains IDEs (such as IntelliJ IDEA, PyCharm, WebStorm, PhpStorm, RubyMine, and others) ship with a Git Integration plugin. It provides a dedicated view in the IDE to work with Git and GitHub Pull Requests. diff --git a/book/A-git-in-other-environments/sections/sublimetext.asc b/book/A-git-in-other-environments/sections/sublimetext.asc index b303fca9e..d62eff430 100644 --- a/book/A-git-in-other-environments/sections/sublimetext.asc +++ b/book/A-git-in-other-environments/sections/sublimetext.asc @@ -1,5 +1,6 @@ === Git in Sublime Text +(((Sublime Text))) From version 3.2 onwards, Sublime Text has Git integration in the editor. The features are: diff --git a/book/A-git-in-other-environments/sections/visualstudiocode.asc b/book/A-git-in-other-environments/sections/visualstudiocode.asc index d4de8b372..7a646c3b5 100644 --- a/book/A-git-in-other-environments/sections/visualstudiocode.asc +++ b/book/A-git-in-other-environments/sections/visualstudiocode.asc @@ -1,5 +1,6 @@ === Git in Visual Studio Code +(((Visual Studio Code))) Visual Studio Code has Git support built in. You will need to have Git version 2.0.0 (or newer) installed. diff --git a/book/B-embedding-git/sections/jgit.asc b/book/B-embedding-git/sections/jgit.asc index fc042563f..74ae05a38 100644 --- a/book/B-embedding-git/sections/jgit.asc +++ b/book/B-embedding-git/sections/jgit.asc @@ -3,7 +3,7 @@ (((jgit)))(((Java))) If you want to use Git from within a Java program, there is a fully featured Git library called JGit. JGit is a relatively full-featured implementation of Git written natively in Java, and is widely used in the Java community. -The JGit project is under the Eclipse umbrella, and its home can be found at https://www.eclipse.org/jgit/[^]. +The JGit project is under the Eclipse umbrella, and its home can be found at https://projects.eclipse.org/projects/technology.jgit[^]. ==== Getting Set Up @@ -22,7 +22,7 @@ Probably the easiest is to use Maven – the integration is accomplished by addi The `version` will most likely have advanced by the time you read this; check https://mvnrepository.com/artifact/org.eclipse.jgit/org.eclipse.jgit[^] for updated repository information. Once this step is done, Maven will automatically acquire and use the JGit libraries that you'll need. -If you would rather manage the binary dependencies yourself, pre-built JGit binaries are available from https://www.eclipse.org/jgit/download[^]. +If you would rather manage the binary dependencies yourself, pre-built JGit binaries are available from https://projects.eclipse.org/projects/technology.jgit/downloads[^]. You can build them into your project by running a command like this: [source,console] @@ -155,6 +155,6 @@ Many other commands are available through the Git class, including but not limit This is only a small sampling of JGit's full capabilities. If you're interested and want to learn more, here's where to look for information and inspiration: -* The official JGit API documentation can be found at https://www.eclipse.org/jgit/documentation[^]. +* The official JGit API documentation can be found at https://help.eclipse.org/latest/topic/org.eclipse.egit.doc/help/JGit/User_Guide/User-Guide.html[^]. These are standard Javadoc, so your favorite JVM IDE will be able to install them locally, as well. * The JGit Cookbook at https://github.com/centic9/jgit-cookbook[^] has many examples of how to do specific tasks with JGit. diff --git a/ch09-git-and-other-systems.asc b/ch09-git-and-other-systems.asc index ac6a1589e..af4f22008 100644 --- a/ch09-git-and-other-systems.asc +++ b/ch09-git-and-other-systems.asc @@ -20,8 +20,6 @@ include::book/09-git-and-other-scms/sections/client-svn.asc[] include::book/09-git-and-other-scms/sections/client-hg.asc[] -include::book/09-git-and-other-scms/sections/client-bzr.asc[] - include::book/09-git-and-other-scms/sections/client-p4.asc[] [[_migrating]] @@ -36,8 +34,6 @@ include::book/09-git-and-other-scms/sections/import-svn.asc[] include::book/09-git-and-other-scms/sections/import-hg.asc[] -include::book/09-git-and-other-scms/sections/import-bzr.asc[] - include::book/09-git-and-other-scms/sections/import-p4.asc[] include::book/09-git-and-other-scms/sections/import-custom.asc[] diff --git a/diagram-source/progit.sketch b/diagram-source/progit.sketch index 4aa4eab83..51603807a 100644 Binary files a/diagram-source/progit.sketch and b/diagram-source/progit.sketch differ diff --git a/images/managed-team-flow.png b/images/managed-team-flow.png index 7593cdaf5..039cb9a65 100644 Binary files a/images/managed-team-flow.png and b/images/managed-team-flow.png differ diff --git a/images/managed-team-flow.svg b/images/managed-team-flow.svg index 6bddb3ef2..1ae8a02f2 100644 --- a/images/managed-team-flow.svg +++ b/images/managed-team-flow.svg @@ -1,17 +1,17 @@ + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + inkscape:current-layer="ref" + inkscape:showpageshadow="2" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" /> @@ -69,13 +72,11 @@ id="master" font-size="12px" font-weight="700" - style="font-weight:700;font-size:12px;font-family:'Source Code Pro';text-anchor:middle;fill:#979797"> - Josie - + style="fill:#f0f0f0">John - Josie - + style="fill:#f0f0f0">John - John - + style="fill:#f0f0f0">Josie - John - + style="fill:#f0f0f0">Josie - Jessica - + style="fill:#f0f0f0">Jessica - Jessica - + style="fill:#f0f0f0">Jessica - git commit - git commit(A) - + y="86.195312">(A) - git commit - git commit(B) - + y="364.19531">(B) - git fetch origin - + y="176">git fetch origin - git fetch origin - + y="470.19531">git fetch origin - git fetch origin - + y="384">git fetch origin - git push origin featureA - + y="105.40576">git push origin featureA - git push origin featureA - + y="583.40576">git push origin featureA - git push origin featureA - + y="247.69531">git push origin featureA - git push origin featureBee - + y="323.69531">git push origin featureBee - git push origin featureB:featureBee - + y="446.19531">git push origin featureB:featureBee - git commit - git commit(A) - + y="155.69531">(A) - git commit - git commit(B) - + y="296.69531">(B) - git merge - git merge(B) - + y="427.19531">(B) - git merge - git merge(A) - + y="515.19531">(A) - git commit - git commit(A) - + y="565.19531">(A) - git merge - git merge(A) - + y="220.69531">(A) - i18-world + i18n-world diff --git a/status.json b/status.json index 68b368c69..03a8d8307 100644 --- a/status.json +++ b/status.json @@ -85,11 +85,9 @@ }, "09-git-and-other-scms": { "1-git-and-other-scms.asc": 0, - "sections/client-bzr.asc": 0, "sections/client-hg.asc": 0, "sections/client-p4.asc": 0, "sections/client-svn.asc": 0, - "sections/import-bzr.asc": 0, "sections/import-custom.asc": 0, "sections/import-hg.asc": 0, "sections/import-p4.asc": 0,