diff --git a/HACKING b/HACKING deleted file mode 100644 index b000ef2e5f..0000000000 --- a/HACKING +++ /dev/null @@ -1,189 +0,0 @@ -Copyright (c) 2015-2017 elementary LLC (http://launchpad.net/elementary) - -====== Files - Contribute ====== - -**This document is licensed under the LGPL 2.1.** -This document is based on the HACKING file from the Midori browser project. - -====== Testing the latest build ====== - -Get daily builds in Launchpad (https://launchpad.net/~elementary-os/+archive/daily ppa:elementary-os/daily). - -====== Join IRC chat rooms ====== - -Join #elementary-dev on Freenode: https://kiwiirc.com/client/irc.freenode.net/elementary-dev. - -====== Contribute without touching code ====== - -- http://bugs.launchpad.net/pantheon-files Go through problem reports and check Unconfirmed bugs or those lacking information and mark any duplicates you spot. -- https://translations.launchpad.net/pantheon-files Help getting Files translated in your language! - -====== Check out the sources ====== - - bzr branch lp:pantheon-files - -The development **trunk** (master, tip) is the latest iteration of the next release. -Browse it online and look for other branches at http://code.launchpad.net/pantheon-files - -====== Build the code ====== - -Refer to INSTALL for required dependencies. - -Then: - - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug - make - -Run Files: - ./pantheon-files - -To run Files from a local branch, you will need to already have Files installed in your system, since configuration files and plugins are loaded from system directories. - -If you'd like to install from your local branch: - sudo make install - -====== Debugging issues ====== - -Testing an installed release may reveal crashers or memory corruption which require investigating from a local build and obtaining a stacktrace (backtrace, crash log). - - gdb ./pantheon-files - run --debug - -====== Coding style and quality ====== - -Be sure to check the official elementary Code Style guide at: - http://elementaryos.org/docs/code/code-style - -Files' code should in general have: - - * 4 space indentation, no tabs. - * Between 80 to 120 columns. - * Prefer /* */ style comments. - * Call variables //animal// and //animal_shelter// instead of camelCase. - * Keep a space between functions/ keywords and round parentheses. - -For Vala: - - * Prefer //new Gtk.Widget ()// over //using Gtk; new Widget ()// - * No necessity to prefix anything from the GLib namespace. An exception to this rule is when using GOF.File and GLib.File in the same source file. - * Stick to standard Vala-style curly parentheses on the same line - * Cuddled //} else {// and //} catch (Error error) {// - -For C: - - * Always keep { and } on their own line. - -====== Important: Keep fixes for different bugs in different branches ====== - -Branches that contain patches to fix more than one bug will be rejected, and you will be asked to supply a separate branch for every bug fix. -This doesn't apply to patches that are indivisible by nature, and that fix multiple bugs. - -The reasons to work in this way are the following: - - * If one of the bugs targeted by your branch is correctly fixed, but one of the other bugs is incorrectly fixed or needs corrections, the branch won't be accepted until everything looks ok for all bugs. This causes an unnecessary delay for the bugs that where fixed correctly. - * Suppose your branch was accepted for merging in the main one. Later, it is discovered that your branch introduces faulty behavior. The standard course of action for these situations is to revert the merge that introduced that faulty behavior. This will cause that all of your fixes are reverted (even the ones that didn't cause problems) because there was no way of discriminating between them. If a separate branch for each bug fixed existed, only the offending one would have been reverted, and not all of them. - -Be sure to understand this, and avoid a headache later! - -====== Committing code ====== - -Make a branch which will contain your changes for fixing bug XXXX: - - bzr branch lp:pantheon-files fix-XXXX - -Tell Bazaar your name if you haven't yet: - - bzr whoami "Real Name " - -See what you did so far: - - bzr diff - bzr diff | colordiff - -Get an overview of changed and new files: - - bzr status - -Add new files, move/ rename or delete: - - bzr add FILENAME - bzr mv OLDFILE NEWFILE - bzr rm FILENAME - -After making your changes, you need to commit your work as a new revision. - - bzr commit -m "Commit message" - -Commit your changes in small increments. It is better to keep different changes in different commits. - -To see the last 5 revisions in the current branch: - - bzr log -l5 - bzr log -l5 -p | less - -In the case you committed something wrong or want to ammend it: - - bzr uncommit - -If you want to revert all the changes made after the last revision: - bzr revert - -Remember to keep your branch updated: - - bzr pull - -As a general rule of thumb, ''bzr help COMMAND'' gives you an explanation of any command and ''bzr help commands'' lists all available commands. - -//If you're a die-hard git user, http://zyga.github.io/git-lp/ checkout git-lp to use git commands with the Bazaar repository.// - -====== Push proposed changes ====== - -If you haven't yet, https://launchpad.net/~/+editsshkeys check that Launchpad has your SSH key - you can create an SSH key with **Passwords and Keys** aka **Seahorse** or ''ssh-keygen -t rsa'' - and use ''bzr launchpad-login'' to make youself known to bzr locally. - -If you checked out trunk, and added your patch(es), just **push it under your username** in Launchpad and you can **propose it for merging into trunk**. This will automatically request a **review from other developers** who can then comment on it and provide feedback. - - bzr push lp:~USERNAME/pantheon-files/fix-123456 - bzr lp-open - -The last command will open a summary of the current branch in your web browser. There, you will be able to propose it for merging into trunk. -Your branch will be reviewed by another developer. At this stage, you may be notified that changes need to be made to your branch, so keep an eye on your email inbox! -After the branch is approved by the reviewer, it will get merged into the main project's source code. - - -**What happens to all the branches?** - -Leave the branches alone, **approved branches are cleared automatically** by Launchpad. - -For larger feature branches, **use the team** in Launchpad to allow other developers to work on the code with you. - - -What if I want to help out on an **existing merge request** that I can't push to? - - bzr branch ~OTHERPERSON/pantheon-files/fix-123456 - cd fix-123456 - # make commits - bzr push lp:USERNAME~/midori/fix-123456 - bzr lp-open - -And in the Launchpad web overview of your branch, propose your branch for merging into ~OTHERPERSON/pantheon-files/fix-123456 - - -Updating a branch that may be out of sync with trunk: - - bzr pull - bzr: ERROR: These branches have diverged - bzr merge lp:pantheon-files - # Hand-edit conflicting changes - bzr resolve FILENAME - # If any conflicts remain continue fixing - bzr commit -m 'Merge changes from lp:pantheon-files' - - -Save a little bandwidth, **branch from an existing local copy** that you keep around: - - bzr branch lp:pantheon-files pantheon-files - bzr branch pantheon-files files-fix-123456 - cd files-fix-123456 - bzr pull lp:pantheon-files diff --git a/INSTALL b/INSTALL deleted file mode 100644 index ae2a77fcfb..0000000000 --- a/INSTALL +++ /dev/null @@ -1,49 +0,0 @@ -Copyright (c) 2015-2017 elementary LLC (http://launchpad.net/elementary) - -Requirements: - -- Vala >= 0.26 -- Granite >= 0.3.0 -- Gtk+ >= 3.12 -- GLib >= 2.32 -- Gio >= 2.0 -- Gee >= 1.0 -- Pango >= 1.1.2 -- Sqlite 3 -- Libnotify >= 0.7.2 -- Gail >= 3.0 -- LibDBus-GLib -- GConf 2 -- Zeitgeist-2.0 - -To get all of the dependencies under a Debian-based distribution, run: - - sudo apt-get build-dep pantheon-files - -Optional: - -- Unity (libunity-dev) >= 4.0.0 (For Unity launcher support). - -To build pantheon-files: - - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=/usr - make - -To install it: - - sudo make install - -Options: - Debug build: - cmake .. -DCMAKE_BUILD_TYPE=Debug - - Different prefix: - cmake .. -DCMAKE_INSTALL_PREFIX=/opt - - To install only libcore and libwidgets use the following command: - cmake .. -DLIB_ONLY=true - - To install only the Gtk-Module use the following command: - cmake .. -DMODULE_ONLY=true diff --git a/README b/README deleted file mode 100644 index 8039e0e846..0000000000 --- a/README +++ /dev/null @@ -1,30 +0,0 @@ -Copyright (c) 2015-2017 elementary LLC (http://launchpad.net/elementary) - -Files is a simple, powerful and sexy file manager. - -Some of its features: - -* Full integration with GTK+3 and Granite. -* Built for the Pantheon DE as the main target. -* Tab browsing, allowing the restoration of closed tabs. -* Support for extensions written in Vala. Current extensions include: - - Color tags for files and folders. - - Dropbox and Ubuntu One integration. - -For installation instructions read INSTALL. - -Please report comments, suggestions and bugs to: - - https://bugs.launchpad.net/pantheon-files - -And join the IRC channel #elementary on irc.freenode.net - -For contributing code/translations/documentation to Files read HACKING. - -Check for new versions at: - - http://launchpad.net/pantheon-files - -For Ubuntu and derivatives, you can get stable builds of Files at: - - https://launchpad.net/~elementary-os/+archive/stable diff --git a/README.md b/README.md new file mode 100644 index 0000000000..0da1f48c5d --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# Files +[![Translation status](https://l10n.elementary.io/widgets/files/-/svg-badge.svg)](https://l10n.elementary.io/projects/files/?utm_source=widget) + +## Building, Testing, and Installation + +You'll need the following dependencies: +* cmake +* libcanberra-dev +* libdbus-glib-1-dev +* libgail-3-dev +* libgee-0.8-dev +* libglib2.0-dev +* libgranite-dev +* libgtk-3-dev +* libnotify-dev +* libpango1.0-dev +* libplank-dev +* libsqlite3-dev +* libunity-dev +* libzeitgeist-2.0-dev +* valac + +It's recommended to create a clean build environment + + mkdir build + cd build/ + +Run `cmake` to configure the build environment and then `make` to build + + cmake -DCMAKE_INSTALL_PREFIX=/usr .. + make + +To install, use `make install`, then execute with `pantheon-files` + + sudo make install + pantheon-files