sbt/sbt-git hiện có 355 sao trên GitHub, viết chủ yếu bằng Scala. A git plugin for sbt
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
The sbt-git plugin offers git command line features directly inside sbt as
well as allowing other plugins to make use of git.
Maintenance status
This plugin is community maintained. See https://github.com/sbt/sbt-git/issues/182 if you'd like to help.
Installation
As of 1.0.0 this plugin requires at least Java 8.
The latest version supporting Java 7 was 0.9.3, while the latest version supporting Java 6 was 0.8.5.
Latest:
Add the following to your project/plugins.sbt or ~/.sbt/1.0/plugins/plugins.sbt file:
additionally, use one of the older README.md files: (https://github.com/sbt/sbt-git/blob/v0.7.1/README.md)
JGit
JGit is a Java interface to git that allows some git operations to be
performed in the JVM without invoking an external git executable. By default,
this plugin uses JGit for read-only operations such as inspecting HEAD; for
write operations, it assumes a git executable is present and on the PATH and
it uses that.
In certain circumstances you may want to force the use of JGit or an
executable for both read-only and read-write operations; for example, if no
git executable is present (e.g. you use windows and you haven't installed git
or it's not on your PATH) you need to disable the console interface, or if
you rely on a git feature that JGit does not support (e.g. worktrees) you need
to disable the JGit interface.
The following settings will force the use of only JGit or a git executable,
respectively:
useJGit
useReadableConsoleGit
These settings can be included in your project's git.sbt or in
~/.sbt/1.0/git.sbt -- for example, if no git executable is installed,
either file can have the following contents:
useJGit
Or you can set the appropriate setting in the sbt prompt:
> set useReadableConsoleGit
[info] Reapplying settings...
[info] Set current project to scala-arm (in build file:...)
> session save
[info] Reapplying settings...
[info] Set current project to scala-arm (in build file:...)
Versioning with Git
You can begin to use git to control your project versions.
enablePlugins(GitVersioning)
The git plugin will now autogenerate your version using the following rules, in order:
Looks at version-property setting (default to project.version), and checks the sys.props to see if this has a value. If so, use it.
Otherwise, looks at the project tags. The first to match the gitTagToVersionNumber setting is used to assign the version. The default is to look for tags that begin with v and a number, and use the number as the version. If there are multiple version tags, it will pick the highest.
If no tags are found either, look at the head commit. We attach this to the git.baseVersion setting: "<base-version>.<git commit sha>"
If no head commit is present either (which means this is a brand-new repository with no commits yet), we append the current timestamp to the base version: "<base-version>.<timestamp>".
The git.baseVersion setting represents the in-development (upcoming) version you're working on.
You can alter the tag-detection algorithm using the git.gitTagToVersionNumber setting. For example, if we wanted to alter the default version tag detection so it does not require a "v" at the start of tags, we could add the following setting:
You can turn on version detection using git describe command by adding:
git.useGitDescribe := true
This way the version is derived by passing the result of git describe to the gitTagToVersionNumber function. The describe version is built from the last tag + number of commits since tag + short hash. We recommend adopting the git describe approach.
You can enhance the git describe approach with glob pattern matching, to match only relevant tags (as per git describe --match functionality). This may be useful if, for example, your repository contains multiple types of tag.
git.gitDescribePatterns := Seq("module-name-*")
Additionally, you can also customize the version number generated by overriding one of the following keys:
git.formattedShaVersion - Should look up git.gitHeadCommit key and generate a version based on it.
git.formattedDateVersion - The version we'll use if git is unavailable on this repository, for some reason.
As an example, you can alter the default sha-based versions using the following code
You can use the git plugin to add the project name + the current branch to your prompt. Simply add this setting to every project:
enablePlugins(GitBranchPrompt)
Usage
In an sbt prompt, simply enter any git command. e.g.
> git status
# On branch main
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: build.sbt
# modified: project/plugins/project/Build.scala
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# src/site/
no changes added to commit (use "git add" and/or "git commit -a")
Known issues
When running sbt, you will see the following warnings in console:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
To get rid of them, you can force the SLF4J no-op binder by adding libraryDependencies += "org.slf4j" % "slf4j-nop" % "1.7.21" to ~/.sbt/0.13/plugins/plugins.sbt
Running the tests
Tests for this plugin are written using sbt-scripted. Test can be executed with
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/sbt/sbt-git là nguồn chính thức.
sbt/sbt-git có bao nhiêu sao?
sbt/sbt-git có 355 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/sbt/sbt-git. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
sbt/sbt-git có phải mã nguồn mở không?
Có — sbt/sbt-git phát hành theo license BSD-2-Clause, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/sbt/sbt-git.
sbt/sbt-git còn đang phát triển không?
Commit gần nhất trên sbt/sbt-git là 8 ngày trước (theo timestamp GitHub). Repo có 103 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
sbt/sbt-git là gì?
sbt/sbt-git (sbt/sbt-git) là dự án Scala trên GitHub. Theo mô tả gốc: A git plugin for sbt
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về sbt-git?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về sbt-git.