When comparing pkgsrc vs Tower, the Slant community recommends Tower for most people. In the question“What are the best developer tools for Mac OSX?” Tower is ranked 7th while pkgsrc is ranked 28th. The most important reason people chose Tower is:
Tower has a good-looking interface and consists of 3 main views - services, repositories and repository. - Services view for managing integrations with hosting services like GitHub, Bitbucket and Beanstalk. - Repositories view for organizing local and remote repositories into folders and getting general overview about them. - Repo view that consists of two main subviews: - Working copy view shows modified files and their diff and allows wrapping up changes in a commit. - History shows commits alongside metadata and projects file structure. Additionally, it allows performing various tasks such as merging branches via drag & drop, search allows searching by message, commit hash, author, committer and file and there's a quick open that allows fuzzy-searching for folder names.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro pkgin is an apt-like tools for installing binaries from pkgsrc
pkgin aims to be a tool similar to apt/yum for managing pkgsrc binaries by relying on pkg_summary for installing, removing and upgrading packages and dependencies, using a remote repo.
Pro Adapted for use on over a dozen different operating systems
Has been adopted to be used on several Unix-like operating systems and Windows. It's also the default package manager of DragonflyBSD and of the (now discounted) Bluewall Linux distro.
Pro Installs and works in the same way as MacPorts
Installs its own dependencies which means that it is very secure. Cannot install anything unless you use the "sudo" command which is in keeping with the Unix philosophy.
Pro Both binary packages and source build possible
Fast software installation is possible by using binary packages. It's also easy to build from source which allows for different compile-time options (like different UI backends) as well as gaining access to pre-release versions of software in certain cases.
Pro Offering tooling for backporting fixes
Backporting fixes can be done by cherry-picking updates from a newer branch (pkgsrc is released every 3 months) and creating a package. Sometimes bugs need to be fixed for production and there is neither a fix in newer pkgsrc nor the softwares upstream. So pkgsrc has tools like pkgdiff, mkpatches, etc. that help with developing patches and building binary packages from that. A bit of documentation about that process can be found here.
Pro Does not need Xcode command line tools or Xcode.
This means that you can install it fresh on a new installation of MacOS and have all your favorite apps installed right from the start.
Pro Works easily with Ansible
Can be used from within Ansible to install packages on macOS.
Pro Easy installation if you use 3rd party scripts
This one works brilliantly.
Pro Pretty, modern-looking user interface
Tower has a good-looking interface and consists of 3 main views - services, repositories and repository.
Services view for managing integrations with hosting services like GitHub, Bitbucket and Beanstalk.
Repositories view for organizing local and remote repositories into folders and getting general overview about them.
Repo view that consists of two main subviews:
Working copy view shows modified files and their diff and allows wrapping up changes in a commit.
History shows commits alongside metadata and projects file structure.
Additionally, it allows performing various tasks such as merging branches via drag & drop, search allows searching by message, commit hash, author, committer and file and there's a quick open that allows fuzzy-searching for folder names.
Pro Offers a visual way to solve conflicts
Tower shows conflicting files, their authors and the commit that made changes. It then allows selecting which files should be used in the final result.
Pro Github integration
Pro Very polished user interface
Pro Cherry-Picking via drag and drop
Pro Git LFS
Tower comes with built-in support for Git LFS. Handy when working with large files.
Pro Git-flow integration
Git-flow provide a consistent development process by defining a strict branching model that is great for managing large projects. T2 allows setting up and integrating into repos that follow this model.
Pro The UI only shows the needed commands at a time
Tower covers most of the daily tasks that a developer may need to complete. It shows only what you need for the most common tasks without overwhelming the user.
Pro Free for students
If you are a student, you can get your free Tower Pro license here.
Pro Interactive Rebase via Drag and Drop
Pro Undo Support
Many Git actions can be undone in Tower simply by using the keyboard shortcut CMD+Z. Examples: Deleting branches and files, staging changes, rebasing & merging branches, or publishing a branch on a remote
Pro GPG support
Tower offers user profiles. You can then connect GPG keys with your profiles, sign commits and see which commits have been signed and by who.
Cons
Con Relatively complicated setup and installation
Installing and setting pkgsrc up is a bit more complicated than in other package managers where it often consists in running a single script.
Con Not so broadly used on MacOS as compared with MacPorts
You do not hear about Pkgsrc as openly as you hear the words "HomeBrew" or "MacPorts".
Con Outdated packages
Some packages are outdated.
Con Can't install some packages
Even building well known packages (except MacPorts) from source using the ports can fail.
![Sean Lang](https://lh5.googleusercontent.com/-4oQDn8MF4L8/AAAAAAAAAAI/AAAAAAAAGso/tF5J5q84exw/photo.jpg?sz=50)
Con Not free/libre
This application is proprietary, and thus cannot be modified or freely distributed.
Con Expensive
Costs $69 per year!
Con Inefficient UI
In order to not overwhelm the users with information, much of the information is either hidden by default or requires navigating to a different section to access.
Con Doesn't have a built in diff
Con Stability issues on Windows
On a simple repository, the UI often lags or freezes.
Con Doesn't support Subtrees
![Vetted.ai illustration](/images/ai/vetted-illustration.png)