Giter VIP home page Giter VIP logo

org.freefilesync.freefilesync's Introduction

FreeFileSync on Flathub

FreeFileSync is a graphical folder comparison and synchronization software. See its homepage at freefilesync.org.

This repo contains a Flatpak manifest for building a Flatpak package for FreeFileSync. You can download the the final Flatpak package from FreeFileSync on Flathub.

Note: This is not the upstream repo for FreeFileSync. See freefilesync.org instead.

screenshot

Installation

To install FreeFileSync through Flathub, first make sure Flathub is set up on your system, and then visit FreeFileSync on Flathub page and click Install.

Or you can use the command line:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.freefilesync.FreeFileSync

Usage

This package contains two tools named FreeFileSync and RealTimeSync. Simply search for either of them in your desktop app launcher.

Or you can use the command line:

flatpak run org.freefilesync.FreeFileSync

or

flatpak run --command=RealTimeSync org.freefilesync.FreeFileSync

Get involved

  • Run FreeFileSync from the beta branch and report issues. Installation instructions:
    flatpak remove org.freefilesync.FreeFileSync//stable
    flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
    flatpak install flathub-beta org.freefilesync.FreeFileSync//beta
    
    It's best to subscribe to new Pull Request notifications through GitHub, so that you are aware when the beta branch gets updated with a new FFS release.
  • Please become a co-maintainer of this repository. Create PRs for new FFS releases (see the instructions below), solve reported issues.

Maintaining this repository

The workflow for building a new release REL is:

# Create a new git branch for release REL (e.g. "11.0", adjust the version)
REL=11.0
git switch -c release-${REL} beta

# Adjust the manifest:
# 1) In the 'freefilesync' module, update `url`, `sha256` and `size`.
# 2) For other modules (dependencies), check if there are newer releases available and update them.
your-favorite-editor org.freefilesync.FreeFileSync.yml

# Update the appdata: Create a new `<release>` tag.
your-favorite-editor data/org.freefilesync.FreeFileSync.appdata.xml

# Update shared modules
cd shared-modules
git pull
cd ..

# Build and install. The installation part is necessary, because due to extra-data approach (see
# manifest), the actual FFS binary is downloaded and processed only during installation.
flatpak-builder builddir org.freefilesync.FreeFileSync.yml --force-clean --ccache --install --user

# Test the app. Your dev version should be installed as the 'master' branch, so if you have the
# stable version installed as well, you must distinguish them as shown below. Check your
# 'flatpak list --app' output to make sure.
flatpak run org.freefilesync.FreeFileSync//master

# Remove the dev version of the app
flatpak remove org.freefilesync.FreeFileSync//master

# Commit the changes
git add -u
git diff --cached
git commit -m "upstream release ${REL}"
git push -u origin release-${REL}
# Submit the pull request now (against the beta branch) through GitHub

# After the PR is approved, merge it into the beta branch
git switch beta
git merge --ff-only release-${REL}
git push

# If there are no issues with beta, update the master branch
# Create a new PR through GitHub:
# https://github.com/flathub/org.freefilesync.FreeFileSync/compare/master...beta
# After it is approved:
git switch master
git merge --ff-only beta
git tag -a -m "release ${REL}" v${REL}
git push --follow-tags

# Remove old branches
git branch -d release-${REL}
git push -d origin release-${REL}

See the progress and controls for new builds at Flathub buildbot (beta branch).

org.freefilesync.freefilesync's People

Contributors

kparal avatar garbulix avatar flathubbot avatar puxplaying avatar

Stargazers

WuYingjun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.